aGrUM  0.20.3
a C++ library for (probabilistic) graphical models
gum::DAGCycleDetector::ArcReverse Class Reference

the class to indicate that we wish to reverse an arc More...

#include <agrum/tools/graphs/DAGCycleDetector.h>

+ Inheritance diagram for gum::DAGCycleDetector::ArcReverse:
+ Collaboration diagram for gum::DAGCycleDetector::ArcReverse:

Public Member Functions

Constructors / Destructors
 ArcReverse (NodeId tail, NodeId head) noexcept
 default constructor More...
 
 ArcReverse (const ArcReverse &from) noexcept
 copy constructor More...
 
 ArcReverse (ArcReverse &&from) noexcept
 move constructor More...
 
 ~ArcReverse () noexcept
 destructor More...
 
Operators
ArcReverseoperator= (const ArcReverse &from) noexcept
 copy operator More...
 
ArcReverseoperator= (ArcReverse &&from) noexcept
 move operator More...
 
Accessors/Modifiers
ChangeType type () const noexcept
 returns the type of the operation More...
 
NodeId tail () const noexcept
 indicates the tail of the arc involved in the modification More...
 
NodeId head () const noexcept
 indicates the head of the arc involved in the modification More...
 

Detailed Description

the class to indicate that we wish to reverse an arc

Definition at line 196 of file DAGCycleDetector.h.

Constructor & Destructor Documentation

◆ ArcReverse() [1/3]

INLINE gum::DAGCycleDetector::ArcReverse::ArcReverse ( NodeId  tail,
NodeId  head 
)
noexcept

default constructor

Definition at line 180 of file DAGCycleDetector_inl.h.

References gum::Set< Key, Alloc >::emplace().

180  :
181  DAGCycleDetector::Change(DAGCycleDetector::ChangeType::ARC_REVERSAL, tail, head) {
182  GUM_CONSTRUCTOR(DAGCycleDetector::ArcReverse);
183  }
NodeId tail() const noexcept
indicates the tail of the arc involved in the modification
NodeId head() const noexcept
indicates the head of the arc involved in the modification
+ Here is the call graph for this function:

◆ ArcReverse() [2/3]

INLINE gum::DAGCycleDetector::ArcReverse::ArcReverse ( const ArcReverse from)
noexcept

copy constructor

Definition at line 186 of file DAGCycleDetector_inl.h.

References gum::Set< Key, Alloc >::emplace().

187  :
188  DAGCycleDetector::Change(from.type(), from.tail(), from.head()) {
189  GUM_CONS_CPY(DAGCycleDetector::ArcReverse);
190  }
+ Here is the call graph for this function:

◆ ArcReverse() [3/3]

INLINE gum::DAGCycleDetector::ArcReverse::ArcReverse ( DAGCycleDetector::ArcReverse &&  from)
noexcept

move constructor

Definition at line 193 of file DAGCycleDetector_inl.h.

References gum::Set< Key, Alloc >::emplace().

193  :
194  DAGCycleDetector::Change(std::move(from.type()),
195  std::move(from.tail()),
196  std::move(from.head())) {
197  GUM_CONS_MOV(DAGCycleDetector::ArcReverse);
198  }
+ Here is the call graph for this function:

◆ ~ArcReverse()

INLINE gum::DAGCycleDetector::ArcReverse::~ArcReverse ( )
noexcept

destructor

Definition at line 201 of file DAGCycleDetector_inl.h.

References gum::Set< Key, Alloc >::emplace().

201  {
202  GUM_DESTRUCTOR(DAGCycleDetector::ArcReverse);
203  }
+ Here is the call graph for this function:

Member Function Documentation

◆ head()

INLINE NodeId gum::DAGCycleDetector::Change::head ( ) const
noexceptinherited

indicates the head of the arc involved in the modification

Definition at line 85 of file DAGCycleDetector_inl.h.

References gum::Set< Key, Alloc >::emplace().

85 { return _head_; }
NodeId _head_
the head of the arc to be modified
+ Here is the call graph for this function:

◆ operator=() [1/2]

INLINE DAGCycleDetector::ArcReverse & gum::DAGCycleDetector::ArcReverse::operator= ( const ArcReverse from)
noexcept

copy operator

Definition at line 207 of file DAGCycleDetector_inl.h.

References gum::Set< Key, Alloc >::emplace().

207  {
209  return *this;
210  }
Change & operator=(const Change &from) noexcept
+ Here is the call graph for this function:

◆ operator=() [2/2]

INLINE DAGCycleDetector::ArcReverse & gum::DAGCycleDetector::ArcReverse::operator= ( DAGCycleDetector::ArcReverse &&  from)
noexcept

move operator

Definition at line 214 of file DAGCycleDetector_inl.h.

References gum::Set< Key, Alloc >::emplace().

214  {
215  DAGCycleDetector::Change::operator=(std::move(from));
216  return *this;
217  }
Change & operator=(const Change &from) noexcept
+ Here is the call graph for this function:

◆ tail()

INLINE NodeId gum::DAGCycleDetector::Change::tail ( ) const
noexceptinherited

indicates the tail of the arc involved in the modification

Definition at line 82 of file DAGCycleDetector_inl.h.

References gum::Set< Key, Alloc >::emplace().

82 { return _tail_; }
NodeId _tail_
the tail of the arc to be modified
+ Here is the call graph for this function:

◆ type()

INLINE DAGCycleDetector::ChangeType gum::DAGCycleDetector::Change::type ( ) const
noexceptinherited

returns the type of the operation

Definition at line 77 of file DAGCycleDetector_inl.h.

References gum::Set< Key, Alloc >::emplace().

77  {
78  return _type_;
79  }
ChangeType _type_
the type of modification
+ Here is the call graph for this function:

The documentation for this class was generated from the following files: