aGrUM  0.20.2
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 200 of file DAGCycleDetector_inl.h.

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

201  :
202  DAGCycleDetector::Change(DAGCycleDetector::ChangeType::ARC_REVERSAL,
203  tail,
204  head) {
205  GUM_CONSTRUCTOR(DAGCycleDetector::ArcReverse);
206  }
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 209 of file DAGCycleDetector_inl.h.

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

210  :
211  DAGCycleDetector::Change(from.type(), from.tail(), from.head()) {
212  GUM_CONS_CPY(DAGCycleDetector::ArcReverse);
213  }
+ 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 216 of file DAGCycleDetector_inl.h.

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

217  :
218  DAGCycleDetector::Change(std::move(from.type()),
219  std::move(from.tail()),
220  std::move(from.head())) {
221  GUM_CONS_MOV(DAGCycleDetector::ArcReverse);
222  }
+ Here is the call graph for this function:

◆ ~ArcReverse()

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

destructor

Definition at line 225 of file DAGCycleDetector_inl.h.

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

225  {
226  GUM_DESTRUCTOR(DAGCycleDetector::ArcReverse);
227  }
+ 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 93 of file DAGCycleDetector_inl.h.

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

93 { 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 230 of file DAGCycleDetector_inl.h.

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

231  {
233  return *this;
234  }
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 237 of file DAGCycleDetector_inl.h.

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

238  {
239  DAGCycleDetector::Change::operator=(std::move(from));
240  return *this;
241  }
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 90 of file DAGCycleDetector_inl.h.

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

90 { 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 85 of file DAGCycleDetector_inl.h.

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

85  {
86  return type__;
87  }
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: