#include <dependency.hh>
During the coarsening process the matrix graph needs to hold different properties of its edges. This class ontains methods for getting and setting these edge attributes.
Public Types | |
enum | |
Flags of the link. | |
Public Member Functions | |
EdgeProperties () | |
Constructor. | |
std::bitset< SIZE >::reference | operator[] (std::size_t v) |
Access the bits directly. | |
bool | operator[] (std::size_t v) const |
Acess the bits directly. | |
bool | depends () const |
Checks wether the vertex the edge points to depends on the vertex the edge starts. | |
void | setDepends () |
Marks the edge as one of which the end point depends on the starting point. | |
void | resetDepends () |
Resets the depends flag. | |
bool | influences () const |
Checks wether the start vertex is influenced by the end vertex. | |
void | setInfluences () |
Marks the edge as one of which the start vertex by the end vertex. | |
void | resetInfluences () |
Resets the influence flag. | |
bool | isOneWay () const |
Checks wether the edge is one way. I.e. either the influence or the depends flag but is set. | |
bool | isTwoWay () const |
Checks wether the edge is two way. I.e. both the influence flag and the depends flag are that. | |
bool | isStrong () const |
Checks wether the edge is strong. I.e. the influence or depends flag is set. | |
void | reset () |
Reset all flags. | |
void | printFlags () const |
Prints the attributes of the edge for debugging. |