83 #ifndef GUM_GRAPH_ELEMENTS_H 84 #define GUM_GRAPH_ELEMENTS_H 154 Edge(NodeId aN1, NodeId aN2);
170 NodeId
other(NodeId
id)
const;
173 NodeId
first()
const;
259 Arc(NodeId tail, NodeId head);
281 NodeId
other(NodeId
id)
const;
284 NodeId
first()
const;
317 void __setTail(NodeId
id);
320 void __setHead(NodeId
id);
329 #ifndef DOXYGEN_SHOULD_SKIP_THIS 339 static Size castToSize(
const Edge& key);
346 virtual Size operator()(
const Edge& key)
const override final;
358 static Size castToSize(
const Arc& key);
365 virtual Size operator()(
const Arc& key)
const override final;
368 #endif // DOXYGEN_SHOULD_SKIP_THIS 387 template <
class VAL >
389 template <
class VAL >
391 template <
class VAL >
400 std::ostream&
operator<<(std::ostream& stream,
const Arc& arc);
404 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 408 #ifndef GUM_NO_INLINE 412 #endif // GUM_GRAPHELEMENTS_H EdgeSet::const_iterator EdgeSetIterator
Some typdefs and define for shortcuts ...
Inlined implementation of directed and undirected edges.
NodeId second() const
returns the node ID of the other extremal node ID
NodeSet::const_iterator NodeSetIterator
Some typdefs and define for shortcuts ...
Edge & operator=(const Edge &src)
copy operator
Set< NodeId > NodeSet
Some typdefs and define for shortcuts ...
Set< Arc > ArcSet
Some typdefs and define for shortcuts ...
Edge(NodeId aN1, NodeId aN2)
constructs a new edge (aN1,aN2)
Class template representing hashing function of LpCol.
gum is the global namespace for all aGrUM entities
Set< Edge > EdgeSet
Some typdefs and define for shortcuts ...
The class for generic Hash Tables.
NodeId first() const
returns one extremal node ID (whichever one it is is unspecified)
std::ostream & operator<<(std::ostream &output, const BayesNet< GUM_SCALAR > &bn)
Prints map's DAG in output using the Graphviz-dot format.
The base class for all directed edgesThis class is used as a basis for manipulating all directed edge...
ListConstIterator< Val >::difference_type operator-(const ListConstIterator< Val > &iter1, const ListConstIterator< Val > &iter2)
For STL compliance, a distance operator.
bool operator!=(const Edge &src) const
checks whether two undirected edges are different
ArcSet::const_iterator ArcSetIterator
Some typdefs and define for shortcuts ...
Unsafe iterators for the Set class.
The base class for all undirected edges.
All hash functions should inherit from this class.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
NodeId n1
the extremal nodes of the edge (their order is unimportant)
bool operator==(const Edge &src) const
checks whether two undirected edges are equal
Size NodeId
Type for node ids.
NodeId other(NodeId id) const
returns an extremal node of an edge given the ID of the other one