aGrUM 3.2.0
a C++ library for (probabilistic) graphical models
gum::prm::o3prm::O3Label Class Reference

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

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

Collaboration diagram for gum::prm::o3prm::O3Label:
[legend]

Public Member Functions

 O3Label ()
 O3Label (const O3Position &pos, std::string_view label)
 O3Label (const O3Label &src)
 O3Label (O3Label &&src)
 ~O3Label ()
O3Label & operator= (const O3Label &src)
O3Label & operator= (O3Label &&src)
O3Position & position ()
const O3Position & position () const
std::string & label ()
const std::string & label () const

Private Attributes

O3Position _pos_
std::string _label_

Detailed Description

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

Definition at line 194 of file O3prm.h.

Constructor & Destructor Documentation

◆ O3Label() [1/4]

gum::prm::o3prm::O3Label::O3Label ( )

Definition at line 243 of file O3prm.cpp.

243 : _pos_(), _label_() {
244 GUM_CONSTRUCTOR(O3Label);
245 ;
246 }
std::string _label_
Definition O3prm.h:213

References O3Label(), _label_, and _pos_.

Referenced by O3Label(), O3Label(), O3Label(), O3Label(), gum::prm::o3prm::O3PRM::O3PRM(), ~O3Label(), operator=(), and operator=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ O3Label() [2/4]

gum::prm::o3prm::O3Label::O3Label ( const O3Position & pos,
std::string_view label )

Definition at line 248 of file O3prm.cpp.

248 : _pos_(pos), _label_(label) {
249 GUM_CONSTRUCTOR(O3Label);
250 }
std::string & label()
Definition O3prm.cpp:286

References O3Label(), _label_, _pos_, and label().

Here is the call graph for this function:

◆ O3Label() [3/4]

gum::prm::o3prm::O3Label::O3Label ( const O3Label & src)

Definition at line 252 of file O3prm.cpp.

252 : _pos_(src._pos_), _label_(src._label_) {
253 GUM_CONS_CPY(O3Label);
254 }

References O3Label(), _label_, and _pos_.

Here is the call graph for this function:

◆ O3Label() [4/4]

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

Definition at line 256 of file O3prm.cpp.

256 :
257 _pos_(std::move(src._pos_)), _label_(std::move(src._label_)) {
258 GUM_CONS_MOV(O3Label);
259 }

References O3Label(), _label_, and _pos_.

Here is the call graph for this function:

◆ ~O3Label()

gum::prm::o3prm::O3Label::~O3Label ( )

Definition at line 261 of file O3prm.cpp.

261 {
262 GUM_DESTRUCTOR(O3Label);
263 ;
264 }

References O3Label().

Here is the call graph for this function:

Member Function Documentation

◆ label() [1/2]

std::string & gum::prm::o3prm::O3Label::label ( )

Definition at line 286 of file O3prm.cpp.

286{ return _label_; }

References _label_.

Referenced by O3Label(), gum::prm::o3prm::O3SystemFactory< GUM_SCALAR >::_addAssignments_(), gum::prm::o3prm::O3SystemFactory< GUM_SCALAR >::_addIncrements_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_addReferenceSlots_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkAggParameters_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkAggParents_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkAggTypeLegality_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkAttributeForCompletion_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkAttributeForDeclaration_(), gum::prm::o3prm::O3InterfaceFactory< GUM_SCALAR >::_checkAttributeOverloadLegality_(), gum::prm::o3prm::O3InterfaceFactory< GUM_SCALAR >::_checkCyclicReference_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkImplementation_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkImplementation_(), gum::prm::o3prm::O3InterfaceFactory< GUM_SCALAR >::_checkInterfaceElement_(), gum::prm::o3prm::O3TypeFactory< GUM_SCALAR >::_checkLabels_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkLocalParent_(), gum::prm::o3prm::O3InterfaceFactory< GUM_SCALAR >::_checkOverloadLegality_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkParent_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkRawCPT_(), gum::prm::o3prm::O3InterfaceFactory< GUM_SCALAR >::_checkReferenceOverloadLegality_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkReferenceSlot_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_declareAggregates_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_declareAttribute_(), gum::prm::o3prm::O3TypeFactory< GUM_SCALAR >::_isPrimitiveType_(), gum::prm::o3prm::O3prmReader< GUM_SCALAR >::_parseImport_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_resolveSlotChain_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::buildParameters(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::buildReferenceSlots(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::completeAggregates(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::completeAttributes(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::declareAggregates(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::declareAttributes(), gum::prm::o3prm::operator<<(), gum::prm::o3prm::O3NameSolver< GUM_SCALAR >::resolveClass(), gum::prm::o3prm::O3NameSolver< GUM_SCALAR >::resolveClassElement(), gum::prm::o3prm::O3NameSolver< GUM_SCALAR >::resolveInterface(), gum::prm::o3prm::O3NameSolver< GUM_SCALAR >::resolveSlotType(), and gum::prm::o3prm::O3NameSolver< GUM_SCALAR >::resolveType().

◆ label() [2/2]

const std::string & gum::prm::o3prm::O3Label::label ( ) const

Definition at line 284 of file O3prm.cpp.

284{ return _label_; }

References _label_.

◆ operator=() [1/2]

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

Definition at line 266 of file O3prm.cpp.

266 {
267 if (this == &src) { return *this; }
268 _pos_ = src._pos_;
269 _label_ = src._label_;
270 return *this;
271 }

References O3Label(), _label_, and _pos_.

Here is the call graph for this function:

◆ operator=() [2/2]

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

Definition at line 273 of file O3prm.cpp.

273 {
274 if (this == &src) { return *this; }
275 _pos_ = std::move(src._pos_);
276 _label_ = std::move(src._label_);
277 return *this;
278 }

References O3Label(), _label_, and _pos_.

Here is the call graph for this function:

◆ position() [1/2]

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

Definition at line 282 of file O3prm.cpp.

282{ return _pos_; }

References _pos_.

Referenced by gum::prm::o3prm::O3prmReader< GUM_SCALAR >::_parseImport_().

Here is the caller graph for this function:

◆ position() [2/2]

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

Definition at line 280 of file O3prm.cpp.

280{ return _pos_; }

References _pos_.

Member Data Documentation

◆ _label_

std::string gum::prm::o3prm::O3Label::_label_
private

Definition at line 213 of file O3prm.h.

Referenced by O3Label(), O3Label(), O3Label(), O3Label(), label(), label(), operator=(), and operator=().

◆ _pos_

O3Position gum::prm::o3prm::O3Label::_pos_
private

Definition at line 212 of file O3prm.h.

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


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