51#ifndef DOXYGEN_SHOULD_SKIP_THIS
59 _type_{type}, _node1_{node1}, _node2_{node2} {
65 _type_{from._type_}, _node1_{from._node1_}, _node2_{from._node2_} {
71 _type_{from._type_}, _node1_{from._node1_}, _node2_{from._node2_} {
84 _node1_ = from._node1_;
85 _node2_ = from._node2_;
92 _node1_ = from._node1_;
93 _node2_ = from._node2_;
108 return ((_node1_ == from._node1_) && (_node2_ == from._node2_) && (_type_ == from._type_));
157 return ((node1() == from.node1()) && (node2() == from.node2()));
206 return ((node1() == from.node1()) && (node2() == from.node2()));
255 return ((node1() == from.node1()) && (node2() == from.node2()));
304 return (((node1() == from.node1()) && (node2() == from.node2()))
305 || ((node1() == from.node2()) && (node2() == from.node1())));
354 return (((node1() == from.node1()) && (node2() == from.node2()))
355 || ((node1() == from.node2()) && (node2() == from.node1())));
376 return castToSize(key) >> this->right_shift_;
387 return castToSize(key) >> this->right_shift_;
398 return castToSize(key) >> this->right_shift_;
409 return castToSize(key) >> this->right_shift_;
420 return castToSize(key) >> this->right_shift_;
431 return castToSize(key) >> this->right_shift_;
static Size castToSize(const learning::ArcAddition &key)
Returns the value of a key as a Size.
virtual Size operator()(const learning::ArcAddition &key) const override final
computes the hashed value of a key
static Size castToSize(const learning::ArcDeletion &key)
Returns the value of a key as a Size.
virtual Size operator()(const learning::ArcDeletion &key) const override final
computes the hashed value of a key
virtual Size operator()(const learning::ArcReversal &key) const override final
computes the hashed value of a key
static Size castToSize(const learning::ArcReversal &key)
Returns the value of a key as a Size.
static Size castToSize(const learning::EdgeAddition &key)
Returns the value of a key as a Size.
virtual Size operator()(const learning::EdgeAddition &key) const override final
computes the hashed value of a key
static Size castToSize(const learning::EdgeDeletion &key)
Returns the value of a key as a Size.
virtual Size operator()(const learning::EdgeDeletion &key) const override final
computes the hashed value of a key
static Size castToSize(const learning::GraphChange &key)
Returns the value of a key as a Size.
virtual Size operator()(const learning::GraphChange &key) const override final
computes the hashed value of a key
The class for notifying learning algorithms of new arc additions.
bool operator!=(const ArcAddition &from) const noexcept
returns whether two arc additions are different or not
ArcAddition & operator=(const ArcAddition &from) noexcept
copy constructor
ArcAddition(NodeId node1, NodeId node2) noexcept
default constructor
bool operator==(const ArcAddition &from) const noexcept
returns whether two arc additions are identical or not
~ArcAddition() noexcept
destructor
The class for notifying learning algorithms of arc removals.
bool operator!=(const ArcDeletion &from) const noexcept
returns whether two arc deletions are different or not
bool operator==(const ArcDeletion &from) const noexcept
returns whether two arc deletions are identical or not
ArcDeletion(NodeId node1, NodeId node2) noexcept
default constructor
ArcDeletion & operator=(const ArcDeletion &from) noexcept
copy constructor
~ArcDeletion() noexcept
destructor
The class for notifying learning algorithms of arc reversals.
ArcReversal & operator=(const ArcReversal &from) noexcept
copy constructor
bool operator!=(const ArcReversal &from) const noexcept
returns whether two arc reversals are different or not
ArcReversal(NodeId node1, NodeId node2) noexcept
default constructor
~ArcReversal() noexcept
destructor
bool operator==(const ArcReversal &from) const noexcept
returns whether two arc reversals are identical or not
The class for notifying learning algorithms of new edge additions.
bool operator!=(const EdgeAddition &from) const noexcept
returns whether two edge additions are different or not
bool operator==(const EdgeAddition &from) const noexcept
returns whether two edge additions are identical or not
EdgeAddition & operator=(const EdgeAddition &from) noexcept
copy constructor
EdgeAddition(NodeId node1, NodeId node2) noexcept
default constructor
~EdgeAddition() noexcept
destructor
The class for notifying learning algorithms of edge removals.
EdgeDeletion & operator=(const EdgeDeletion &from) noexcept
copy constructor
EdgeDeletion(NodeId node1, NodeId node2) noexcept
default constructor
~EdgeDeletion() noexcept
destructor
bool operator!=(const EdgeDeletion &from) const noexcept
returns whether two edge deletions are different or not
bool operator==(const EdgeDeletion &from) const noexcept
returns whether two edge deletions are identical or not
GraphChangeType _type_
the type of modification
bool operator==(const GraphChange &from) const noexcept
returns whether two graph changes are identical or not
GraphChange(GraphChangeType type, NodeId node1, NodeId node2) noexcept
default constructor
NodeId node1() const noexcept
returns the first node involved in the modification
NodeId _node1_
the first node in the edge or arc to be modified
NodeId _node2_
the second node in the edge or arc to be modified
GraphChangeType type() const noexcept
returns the type of the operation
GraphChange & operator=(const GraphChange &from) noexcept
copy constructor
NodeId node2() const noexcept
returns the second node involved in the modification
~GraphChange() noexcept
destructor
bool operator!=(const GraphChange &from) const noexcept
returns whether two graph changes are different or not
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Size NodeId
Type for node ids.
include the inlined functions if necessary
GraphChangeType
the type of modification that can be applied to the graph
gum is the global namespace for all aGrUM entities
bool operator==(const HashTableIteratorSafe< Key, Val > &from) const noexcept
Checks whether two iterators are pointing toward equal elements.
static constexpr Size gold