aGrUM  0.20.3
a C++ library for (probabilistic) graphical models
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 85 of file O3prm.h.

Constructor & Destructor Documentation

◆ O3Formula() [1/4]

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

Definition at line 170 of file O3prm.cpp.

170  : _pos_(), _formula_(std::unique_ptr< Formula >(new Formula(""))) {
171  GUM_CONSTRUCTOR(O3Formula);
172  }
std::unique_ptr< Formula > _formula_
Definition: O3prm.h:104

◆ O3Formula() [2/4]

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

Definition at line 174 of file O3prm.cpp.

174  :
175  _pos_(pos), _formula_(std::unique_ptr< Formula >(new Formula(formula))) {
176  GUM_CONSTRUCTOR(O3Formula);
177  }
std::unique_ptr< Formula > _formula_
Definition: O3prm.h:104

◆ O3Formula() [3/4]

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

Definition at line 179 of file O3prm.cpp.

179  :
180  _pos_(src._pos_), _formula_(std::unique_ptr< Formula >(new Formula(src.formula()))) {
181  GUM_CONS_CPY(O3Formula);
182  }
std::unique_ptr< Formula > _formula_
Definition: O3prm.h:104

◆ O3Formula() [4/4]

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

Definition at line 184 of file O3prm.cpp.

184  :
185  _pos_(std::move(src._pos_)), _formula_(std::move(src._formula_)) {
186  GUM_CONS_MOV(O3Formula);
187  }
std::unique_ptr< Formula > _formula_
Definition: O3prm.h:104

◆ ~O3Formula()

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

Definition at line 189 of file O3prm.cpp.

189  {
190  GUM_DESTRUCTOR(O3Formula);
191  ;
192  }

Member Function Documentation

◆ formula() [1/2]

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

Definition at line 212 of file O3prm.cpp.

212 { return *_formula_; }
std::unique_ptr< Formula > _formula_
Definition: O3prm.h:104

◆ formula() [2/2]

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

Definition at line 211 of file O3prm.cpp.

211 { return *_formula_; }
std::unique_ptr< Formula > _formula_
Definition: O3prm.h:104

◆ operator=() [1/2]

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

Definition at line 194 of file O3prm.cpp.

194  {
195  if (this == &src) { return *this; }
196  _pos_ = src._pos_;
197  _formula_ = std::unique_ptr< Formula >(new Formula(src.formula()));
198  return *this;
199  }
std::unique_ptr< Formula > _formula_
Definition: O3prm.h:104

◆ operator=() [2/2]

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

Definition at line 201 of file O3prm.cpp.

201  {
202  if (this == &src) { return *this; }
203  _pos_ = std::move(src._pos_);
204  _formula_ = std::move(src._formula_);
205  return *this;
206  }
std::unique_ptr< Formula > _formula_
Definition: O3prm.h:104

◆ position() [1/2]

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

Definition at line 209 of file O3prm.cpp.

209 { return _pos_; }

◆ position() [2/2]

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

Definition at line 208 of file O3prm.cpp.

208 { return _pos_; }

Member Data Documentation

◆ _formula_

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

Definition at line 104 of file O3prm.h.

◆ _pos_

O3Position gum::prm::o3prm::O3Formula::_pos_
private

Definition at line 103 of file O3prm.h.


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