29 #ifndef GUM_INTERFACE_GRAPH_H 30 #define GUM_INTERFACE_GRAPH_H 42 template <
typename GUM_SCALAR >
82 template <
typename GUM_SCALAR >
107 template <
typename GUM_SCALAR >
115 template <
typename GUM_SCALAR >
146 template <
typename GUM_SCALAR >
166 template <
typename GUM_SCALAR >
294 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 295 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 296 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 301 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 302 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 303 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 308 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 309 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 310 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS std::ostream & operator<<(std::ostream &out, const DFSCode &code)
Print code in out.
Inner class to handle data about labels in this interface graph.
PRMInstance< GUM_SCALAR > * u
One of the two instance represented by this edge.
PRMInstance< GUM_SCALAR > * n
The instance represented by this node.
An PRMInstance is a Bayesian Network fragment defined by a Class and used in a PRMSystem.
std::string l
The string version of this label.
bool operator==(const LabelData &from) const
Equality operator.
NodeProperty< NodeData< GUM_SCALAR > *> __nodes
Data associated with a node in __graph.
HashTable< LabelData *, Set< NodeData< GUM_SCALAR > *> *> __nodeMap
Mapping between a LabelData and the set of NodeData<GUM_SCALAR> with that label.
UndiGraph __graph
The interface graph.
LabelData * l_u
The label data of u.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Inner class to handle data about edges in __graph.
Idx __counter
A counter used of assigning ids to labels.
PRMInstance< GUM_SCALAR > * v
The other instance represented by thus edge.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
This class represent the interface graph of a given gum::prm::PRMSystem<GUM_SCALAR>.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
EdgeProperty< EdgeData< GUM_SCALAR > *> __edges
Data associated with edges in __graph.
The class for generic Hash Tables.
LabelData * l
The labal data of this edge.
Representation of a setA Set is a structure that contains arbitrary elements.
const PRMSystem< GUM_SCALAR > * __sys
The gum::prm::PRMSystem<GUM_SCALAR> represented by this interface graph.
HashTable< LabelData *, Set< EdgeData< GUM_SCALAR > *> *> __edgeMap
Mapping between a LabelData and the set of EdgeData<GUM_SCALAR> with that label.
A PRMSystem is a container of PRMInstance and describe a relational skeleton.
LabelData * l
The label of this node.
Set of pairs of elements with fast search for both elements.
bool operator!=(const LabelData &from) const
Difference operator.
Inner class to handle data about nodes in __graph.
Idx id
An unique identifier for this label.
bool __erase_flag
For shallow copies.
LabelData * l_v
The label data of v.
HashTable< PRMInstance< GUM_SCALAR > *, NodeId > __idMap
Mapping between PRMInstance<GUM_SCALAR> dans their id in __graph.
This class discovers pattern in a PRM<GUM_SCALAR>'s PRMSystem<GUM_SCALAR> to speed up structured infe...
Bijection< Idx, LabelData *> * __labels
Bijection between labels and their ids.
Base class for undirected graphs.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Size Idx
Type for indexes.
Size tree_width
The size in terms of tree width of the given label.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Size NodeId
Type for node ids.