#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 | |
| ~EdgePairTemplate ()=default | |
| EdgePairTemplate ()=default | |
| MAXON_IMPLICIT | EdgePairTemplate (T vA, T vB=INITVALUE) | 
| EdgePairTemplate (EdgePairTemplate< T, INITVALUE > &&src) | |
| MAXON_OPERATOR_COPY_ASSIGNMENT (EdgePairTemplate) | |
| EdgePairTemplate (const EdgePairTemplate< T, INITVALUE > &src) | |
| HashInt | GetHashCode () const | 
| UniqueHash | GetUniqueHashCode () const | 
| String | ToString (const FormatStatement *formatStatement=nullptr) const | 
| Bool | operator== (const EdgePairTemplate< T, INITVALUE > &b) const | 
| Bool | operator< (const EdgePairTemplate< T, INITVALUE > &b) const | 
| Bool | IsValid () const | 
| Bool | IsCollapsed () const | 
| MAXON_OPERATOR_COMPARISON (EdgePairTemplate) | |
Static Public Member Functions | |
| static constexpr Bool | TriviallyHashable () | 
Public Attributes | |
| union { | |
| T _vA | |
| T _vertexA | |
| }; | |
| union { | |
| T _vB | |
| T _vertexB | |
| }; | |
      
  | 
  default | 
      
  | 
  default | 
| MAXON_IMPLICIT EdgePairTemplate | ( | T | vA, | 
| T | vB = INITVALUE  | 
        ||
| ) | 
| EdgePairTemplate | ( | EdgePairTemplate< T, INITVALUE > && | src | ) | 
| EdgePairTemplate | ( | const EdgePairTemplate< T, INITVALUE > & | src | ) | 
| MAXON_OPERATOR_COPY_ASSIGNMENT | ( | EdgePairTemplate< T, INITVALUE > | ) | 
      
  | 
  staticconstexpr | 
| HashInt GetHashCode | ( | ) | const | 
| UniqueHash GetUniqueHashCode | ( | ) | const | 
| String ToString | ( | const FormatStatement * | formatStatement = nullptr | ) | const | 
| Bool operator== | ( | const EdgePairTemplate< T, INITVALUE > & | b | ) | const | 
| Bool operator< | ( | const EdgePairTemplate< 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 | ( | EdgePairTemplate< T, INITVALUE > | ) | 
| T _vA | 
| T _vertexA | 
| union { ... } | 
First edge vertex, always <= _vB.
| T _vB | 
| T _vertexB | 
| union { ... } | 
Second edge vertex.