aGrUM  0.16.0
gum::prm::o3prm::O3Formula Class Reference

The O3Formula is part of the AST of the O3PRM language. More...

#include <agrum/PRM/o3prm/O3prm.h>

+ Collaboration diagram for gum::prm::o3prm::O3Formula:

Public Member Functions

 O3Formula ()
 
 O3Formula (const O3Position &pos, const Formula &formula)
 
 O3Formula (const O3Formula &src)
 
 O3Formula (O3Formula &&src)
 
 ~O3Formula ()
 
O3Formulaoperator= (const O3Formula &src)
 
O3Formulaoperator= (O3Formula &&src)
 
O3Positionposition ()
 
const O3Positionposition () const
 
Formulaformula ()
 
const Formulaformula () const
 

Detailed Description

The O3Formula is part of the AST of the O3PRM language.

Definition at line 86 of file O3prm.h.

Constructor & Destructor Documentation

◆ O3Formula() [1/4]

gum::prm::o3prm::O3Formula::O3Formula ( )

Definition at line 162 of file O3prm.cpp.

162  :
163  __pos(), __formula(std::unique_ptr< Formula >(new Formula(""))) {
164  GUM_CONSTRUCTOR(O3Formula);
165  }
std::unique_ptr< Formula > __formula
Definition: O3prm.h:105

◆ O3Formula() [2/4]

gum::prm::o3prm::O3Formula::O3Formula ( const O3Position pos,
const Formula formula 
)

Definition at line 167 of file O3prm.cpp.

167  :
168  __pos(pos), __formula(std::unique_ptr< Formula >(new Formula(formula))) {
169  GUM_CONSTRUCTOR(O3Formula);
170  }
std::unique_ptr< Formula > __formula
Definition: O3prm.h:105

◆ O3Formula() [3/4]

gum::prm::o3prm::O3Formula::O3Formula ( const O3Formula src)

Definition at line 172 of file O3prm.cpp.

172  :
173  __pos(src.__pos),
174  __formula(std::unique_ptr< Formula >(new Formula(src.formula()))) {
175  GUM_CONS_CPY(O3Formula);
176  }
std::unique_ptr< Formula > __formula
Definition: O3prm.h:105

◆ O3Formula() [4/4]

gum::prm::o3prm::O3Formula::O3Formula ( O3Formula &&  src)

Definition at line 178 of file O3prm.cpp.

178  :
179  __pos(std::move(src.__pos)), __formula(std::move(src.__formula)) {
180  GUM_CONS_MOV(O3Formula);
181  }
std::unique_ptr< Formula > __formula
Definition: O3prm.h:105

◆ ~O3Formula()

gum::prm::o3prm::O3Formula::~O3Formula ( )

Definition at line 183 of file O3prm.cpp.

183 { GUM_DESTRUCTOR(O3Formula); }

Member Function Documentation

◆ formula() [1/2]

Formula & gum::prm::o3prm::O3Formula::formula ( )

Definition at line 203 of file O3prm.cpp.

References __formula.

Referenced by operator=().

203 { return *__formula; }
std::unique_ptr< Formula > __formula
Definition: O3prm.h:105
+ Here is the caller graph for this function:

◆ formula() [2/2]

const Formula & gum::prm::o3prm::O3Formula::formula ( ) const

Definition at line 202 of file O3prm.cpp.

References __formula.

202 { return *__formula; }
std::unique_ptr< Formula > __formula
Definition: O3prm.h:105

◆ operator=() [1/2]

O3Formula & gum::prm::o3prm::O3Formula::operator= ( const O3Formula src)

Definition at line 185 of file O3prm.cpp.

References __formula, __pos, and formula().

185  {
186  if (this == &src) { return *this; }
187  __pos = src.__pos;
188  __formula = std::unique_ptr< Formula >(new Formula(src.formula()));
189  return *this;
190  }
std::unique_ptr< Formula > __formula
Definition: O3prm.h:105
+ Here is the call graph for this function:

◆ operator=() [2/2]

O3Formula & gum::prm::o3prm::O3Formula::operator= ( O3Formula &&  src)

Definition at line 192 of file O3prm.cpp.

References __formula, and __pos.

192  {
193  if (this == &src) { return *this; }
194  __pos = std::move(src.__pos);
195  __formula = std::move(src.__formula);
196  return *this;
197  }
std::unique_ptr< Formula > __formula
Definition: O3prm.h:105

◆ position() [1/2]

O3Position & gum::prm::o3prm::O3Formula::position ( )

Definition at line 200 of file O3prm.cpp.

References __pos.

200 { return __pos; }

◆ position() [2/2]

const O3Position & gum::prm::o3prm::O3Formula::position ( ) const

Definition at line 199 of file O3prm.cpp.

References __pos.

199 { return __pos; }

Member Data Documentation

◆ __formula

std::unique_ptr< Formula > gum::prm::o3prm::O3Formula::__formula
private

Definition at line 105 of file O3prm.h.

Referenced by formula(), and operator=().

◆ __pos

O3Position gum::prm::o3prm::O3Formula::__pos
private

Definition at line 104 of file O3prm.h.

Referenced by operator=(), and position().


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