31 #ifndef DOXYGEN_SHOULD_SKIP_THIS 42 __node1{node1}, __node2{node2} {
43 GUM_CONSTRUCTOR(GraphChange);
48 __type{from.__type}, __node1{from.__node1}, __node2{from.__node2} {
49 GUM_CONS_CPY(GraphChange);
54 __type{from.__type}, __node1{from.__node1}, __node2{from.__node2} {
55 GUM_CONS_MOV(GraphChange);
89 && (
__type == from.__type));
140 return ((
node1() == from.node1()) && (
node2() == from.node2()));
191 return ((
node1() == from.node1()) && (
node2() == from.node2()));
242 return ((
node1() == from.node1()) && (
node2() == from.node2()));
281 operator=(
const EdgeAddition& from) noexcept {
294 return (((
node1() == from.node1()) && (
node2() == from.node2()))
295 || ((
node1() == from.node2()) && (
node2() == from.node1())));
334 operator=(
const EdgeDeletion& from) noexcept {
347 return (((
node1() == from.node1()) && (
node2() == from.node2()))
348 || ((
node1() == from.node2()) && (
node2() == from.node1())));
364 const learning::GraphChange& key) {
370 INLINE
Size HashFunc< learning::GraphChange >::
371 operator()(
const learning::GraphChange& key)
const {
372 return castToSize(key) >> this->_right_shift;
378 const learning::ArcAddition& key) {
384 INLINE
Size HashFunc< learning::ArcAddition >::
385 operator()(
const learning::ArcAddition& key)
const {
386 return castToSize(key) >> this->_right_shift;
392 const learning::ArcDeletion& key) {
398 INLINE
Size HashFunc< learning::ArcDeletion >::
399 operator()(
const learning::ArcDeletion& key)
const {
400 return castToSize(key) >> this->_right_shift;
406 const learning::ArcReversal& key) {
412 INLINE
Size HashFunc< learning::ArcReversal >::
413 operator()(
const learning::ArcReversal& key)
const {
414 return castToSize(key) >> this->_right_shift;
420 const learning::EdgeAddition& key) {
426 INLINE
Size HashFunc< learning::EdgeAddition >::
427 operator()(
const learning::EdgeAddition& key)
const {
428 return castToSize(key) >> this->_right_shift;
434 const learning::EdgeDeletion& key) {
440 INLINE
Size HashFunc< learning::EdgeDeletion >::
441 operator()(
const learning::EdgeDeletion& key)
const {
442 return castToSize(key) >> this->_right_shift;
static constexpr Size gold
ArcDeletion(NodeId node1, NodeId node2) noexcept
default constructor
static Size castToSize(const learning::EdgeDeletion &key)
Returns the value of a key as a Size.
ArcAddition(NodeId node1, NodeId node2) noexcept
default constructor
~ArcDeletion() noexcept
destructor
~EdgeDeletion() noexcept
destructor
bool operator==(const ArcAddition &from) const noexcept
returns whether two arc additions are identical or not
bool operator==(const ArcDeletion &from) const noexcept
returns whether two arc deletions are identical or not
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
ArcAddition & operator=(const ArcAddition &from) noexcept
copy constructor
NodeId __node2
the second node in the edge or arc to be modified
~GraphChange() noexcept
destructor
ArcReversal(NodeId node1, NodeId node2) noexcept
default constructor
bool operator==(const EdgeAddition &from) const noexcept
returns whether two edge additions are identical or not
EdgeDeletion & operator=(const EdgeDeletion &from) noexcept
copy constructor
GraphChange & operator=(const GraphChange &from) noexcept
copy constructor
bool operator==(const GraphChange &from) const noexcept
returns whether two graph changes are identical or not
GraphChangeType type() const noexcept
returns the type of the operation
bool operator==(const ArcReversal &from) const noexcept
returns whether two arc reversals are identical or not
GraphChangeType __type
the type of modification
~ArcAddition() noexcept
destructor
bool operator!=(const ArcReversal &from) const noexcept
returns whether two arc reversals are different or not
ArcReversal & operator=(const ArcReversal &from) noexcept
copy constructor
bool operator==(const EdgeDeletion &from) const noexcept
returns whether two edge deletions are identical or not
NodeId node2() const noexcept
returns the second node involved in the modification
static Size castToSize(const learning::GraphChange &key)
Returns the value of a key as a Size.
EdgeAddition & operator=(const EdgeAddition &from) noexcept
copy constructor
bool operator!=(const EdgeDeletion &from) const noexcept
returns whether two edge deletions are different or not
ArcDeletion & operator=(const ArcDeletion &from) noexcept
copy constructor
NodeId __node1
the first node in the edge or arc to be modified
bool operator!=(const GraphChange &from) const noexcept
returns whether two graph changes are different or not
GraphChangeType
the type of modification that can be applied to the graph
bool operator!=(const ArcAddition &from) const noexcept
returns whether two arc additions are different or not
static Size castToSize(const learning::ArcDeletion &key)
Returns the value of a key as a Size.
GraphChange(GraphChangeType type, NodeId node1, NodeId node2) noexcept
default constructor
bool operator!=(const EdgeAddition &from) const noexcept
returns whether two edge additions are different or not
~ArcReversal() noexcept
destructor
std::size_t Size
In aGrUM, hashed values are unsigned long int.
static Size castToSize(const learning::ArcAddition &key)
Returns the value of a key as a Size.
EdgeAddition(NodeId node1, NodeId node2) noexcept
default constructor
static Size castToSize(const learning::EdgeAddition &key)
Returns the value of a key as a Size.
~EdgeAddition() noexcept
destructor
EdgeDeletion(NodeId node1, NodeId node2) noexcept
default constructor
Size NodeId
Type for node ids.
static Size castToSize(const learning::ArcReversal &key)
Returns the value of a key as a Size.
NodeId node1() const noexcept
returns the first node involved in the modification
bool operator!=(const ArcDeletion &from) const noexcept
returns whether two arc deletions are different or not