#include <generic_components.h>
Class to represent an undirected edge by specifying two vertices. The vertices are sorted, so upon query it is guaranteed that vertexA <= vertexB. Can also store an invalid state if one of the vertices is set to INITVALUE.
Public Member Functions | |
MAXON_IMPLICIT | EdgePairTeamplate (T vA=INITVALUE, T vB=INITVALUE) |
HashInt | GetHashCode () const |
UniqueHash | GetUniqueHashCode () const |
String | ToString (const FormatStatement *formatStatement=nullptr) const |
Bool | operator== (const EdgePairTeamplate &b) const |
Bool | operator< (const EdgePairTeamplate &b) const |
Bool | IsValid () const |
Bool | IsCollapsed () const |
MAXON_OPERATOR_COMPARISON (EdgePairTeamplate) | |
Static Public Member Functions | |
static constexpr Bool | TriviallyHashable () |
Public Attributes | |
union { | |
T _vA | |
T _vertexA | |
}; | |
union { | |
T _vB | |
T _vertexB | |
}; | |
MAXON_IMPLICIT EdgePairTeamplate | ( | T | vA = INITVALUE , |
T | vB = INITVALUE |
||
) |
HashInt GetHashCode | ( | ) | const |
|
staticconstexpr |
UniqueHash GetUniqueHashCode | ( | ) | const |
String ToString | ( | const FormatStatement * | formatStatement = nullptr | ) | const |
Bool operator== | ( | const EdgePairTeamplate< T, INITVALUE > & | b | ) | const |
Bool operator< | ( | const EdgePairTeamplate< T, INITVALUE > & | b | ) | const |
Bool IsValid | ( | ) | const |
Returns true if both vertices have a value != NOTOK.
Bool IsCollapsed | ( | ) | const |
Returns true if the edge is actually a vertex (_vA == _vB).
MAXON_OPERATOR_COMPARISON | ( | EdgePairTeamplate< T, INITVALUE > | ) |
T _vA |
T _vertexA |
union { ... } |
First edge vertex, always <= _vB.
T _vB |
T _vertexB |
union { ... } |
Second edge vertex.