![]() |
aGrUM
0.16.0
|
Reprensent a Depth First Search coding of a graph. More...
#include <agrum/PRM/gspan/DFSCode.h>
Public Attributes | |
std::vector< EdgeCode *> | codes |
The vector containing the EdgeCode composing this DFSCode. More... | |
Public Member Functions | |
DFSCode () | |
Default constructor. More... | |
DFSCode (const DFSCode &source) | |
Copy constructor. More... | |
~DFSCode () | |
Destructor. More... | |
DFSCode & | operator= (const DFSCode &source) |
Copy operator. More... | |
bool | operator== (const DFSCode &code) const |
Equality operator. More... | |
bool | operator!= (const DFSCode &code) const |
Difference operator. More... | |
bool | operator< (const DFSCode &code) const |
Lesser than operator. More... | |
bool | operator<= (const DFSCode &code) const |
Lesser or equal than operator. More... | |
Static Public Member Functions | |
static bool | validNeighbors (EdgeCode *e1, EdgeCode *e2) |
Returns true of e2 is a valid neighbor for e1 (i.e. More... | |
Public Types | |
typedef std::vector< EdgeCode *>::iterator | iterator |
Code alias. More... | |
typedef std::vector< EdgeCode *>::const_iterator | const_iterator |
Code alias. More... | |
Reprensent a Depth First Search coding of a graph.
A DFSCode is composed of EdgeCode. Each EdgeCode is either a forward edge or a backward edge.
Regarding memory allocation EdgeCode are shared between related DFSCode, so delete DFSCode in a bottom up fashion.
typedef std::vector< EdgeCode* >::const_iterator gum::prm::gspan::DFSCode::const_iterator |
typedef std::vector< EdgeCode* >::iterator gum::prm::gspan::DFSCode::iterator |
INLINE gum::prm::gspan::DFSCode::DFSCode | ( | ) |
INLINE gum::prm::gspan::DFSCode::DFSCode | ( | const DFSCode & | source | ) |
Copy constructor.
Proceeds with a deep copy.
Definition at line 38 of file DFSCode_inl.h.
References codes.
INLINE gum::prm::gspan::DFSCode::~DFSCode | ( | ) |
Destructor.
This will delete all children of this DFSCode, with their respective EdgeCode.
Definition at line 46 of file DFSCode_inl.h.
References codes.
Difference operator.
code | The code tested for difference with this. |
Definition at line 78 of file DFSCode_inl.h.
References codes.
Lesser than operator.
code | The code on which the test is made. |
Definition at line 91 of file DFSCode_inl.h.
References codes, gum::prm::gspan::EdgeCode::i, gum::prm::gspan::EdgeCode::isBackward(), gum::prm::gspan::EdgeCode::isForward(), gum::prm::gspan::EdgeCode::j, gum::prm::gspan::EdgeCode::l_i, gum::prm::gspan::EdgeCode::l_ij, and gum::prm::gspan::EdgeCode::l_j.
Lesser or equal than operator.
code | The code on which the test is made. |
Definition at line 142 of file DFSCode_inl.h.
References codes.
Copy operator.
Proceeds with a deep copy.
Definition at line 54 of file DFSCode_inl.h.
References codes.
Equality operator.
code | The code tested for equality with this. |
Definition at line 65 of file DFSCode_inl.h.
References codes.
Returns true of e2 is a valid neighbor for e1 (i.e.
it respect the neighborhood restriction) if e1 precedes e2 in a DFSCode.
Definition at line 142 of file DFSCode.h.
References gum::prm::gspan::EdgeCode::i, gum::prm::gspan::EdgeCode::isBackward(), gum::prm::gspan::EdgeCode::isForward(), and gum::prm::gspan::EdgeCode::j.
Referenced by gum::prm::gspan::Pattern::addArc().
std::vector< EdgeCode* > gum::prm::gspan::DFSCode::codes |
The vector containing the EdgeCode composing this DFSCode.
Definition at line 90 of file DFSCode.h.
Referenced by gum::prm::gspan::DFSTree< GUM_SCALAR >::__checkGrowth(), gum::prm::gspan::Pattern::__not_rec(), gum::prm::gspan::Pattern::__rec(), gum::prm::GSpan< GUM_SCALAR >::__subgraph_mining(), gum::prm::gspan::Pattern::addArc(), DFSCode(), gum::prm::gspan::DFSTree< GUM_SCALAR >::growPattern(), gum::prm::gspan::Pattern::isMinimal(), operator!=(), operator<(), gum::prm::gspan::operator<<(), operator<=(), operator=(), operator==(), gum::prm::gspan::Pattern::Pattern(), gum::prm::gspan::Pattern::pop_back(), and ~DFSCode().