![]() |
aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
|
Reprensent a Depth First Search coding of a graph. More...
#include <agrum/PRM/gspan/DFSCode.h>
Public Types | |
| using | iterator = std::vector< EdgeCode* >::iterator |
| Code alias. | |
| using | const_iterator = std::vector< EdgeCode* >::const_iterator |
| Code alias. | |
Public Member Functions | |
| DFSCode () | |
| Default constructor. | |
| DFSCode (const DFSCode &source) | |
| Copy constructor. | |
| ~DFSCode () | |
| Destructor. | |
| DFSCode & | operator= (const DFSCode &source) |
| Copy operator. | |
| bool | operator== (const DFSCode &code) const |
| Equality operator. | |
| bool | operator!= (const DFSCode &code) const |
| Difference operator. | |
| bool | operator< (const DFSCode &code) const |
| Lesser than operator. | |
| bool | operator<= (const DFSCode &code) const |
| Lesser or equal than operator. | |
Static Public Member Functions | |
| static bool | validNeighbors (EdgeCode *e1, EdgeCode *e2) |
| Returns true of e2 is a valid neighbor for e1 (i.e. | |
Public Attributes | |
| std::vector< EdgeCode * > | codes |
| The vector containing the EdgeCode composing this DFSCode. | |
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.
| using gum::prm::gspan::DFSCode::const_iterator = std::vector< EdgeCode* >::const_iterator |
| using gum::prm::gspan::DFSCode::iterator = std::vector< EdgeCode* >::iterator |
| INLINE gum::prm::gspan::DFSCode::DFSCode | ( | ) |
Default constructor.
Create an empty DFSCode.
Definition at line 54 of file DFSCode_inl.h.
References DFSCode().
Referenced by DFSCode(), DFSCode(), ~DFSCode(), operator!=(), operator<(), operator<=(), operator=(), and operator==().
| INLINE gum::prm::gspan::DFSCode::DFSCode | ( | const DFSCode & | source | ) |
Copy constructor.
Proceeds with a deep copy.
Definition at line 60 of file DFSCode_inl.h.
References DFSCode(), and codes.
| INLINE gum::prm::gspan::DFSCode::~DFSCode | ( | ) |
Difference operator.
| code | The code tested for difference with this. |
Definition at line 100 of file DFSCode_inl.h.
References DFSCode(), and codes.
Lesser than operator.
| code | The code on which the test is made. |
Definition at line 113 of file DFSCode_inl.h.
References DFSCode(), 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 163 of file DFSCode_inl.h.
References DFSCode(), and codes.
Copy operator.
Proceeds with a deep copy.
Definition at line 76 of file DFSCode_inl.h.
References DFSCode(), and codes.
Equality operator.
| code | The code tested for equality with this. |
Definition at line 87 of file DFSCode_inl.h.
References DFSCode(), and 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 161 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 109 of file DFSCode.h.
Referenced by DFSCode(), gum::prm::gspan::Pattern::Pattern(), ~DFSCode(), 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(), operator!=(), operator<(), gum::prm::gspan::operator<<(), operator<=(), operator=(), and operator==().