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

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

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

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

Public Member Functions

 O3Interface ()
 
 O3Interface (const O3Interface &src)
 
 O3Interface (O3Interface &&src)
 
 ~O3Interface ()
 
O3Interfaceoperator= (const O3Interface &src)
 
O3Interfaceoperator= (O3Interface &&src)
 
O3Positionposition ()
 
const O3Positionposition () const
 
O3Labelname ()
 
const O3Labelname () const
 
O3LabelsuperLabel ()
 
const O3LabelsuperLabel () const
 
O3InterfaceElementListelements ()
 
const O3InterfaceElementListelements () const
 

Public Types

using O3InterfaceElementList = std::vector< O3InterfaceElement >
 

Detailed Description

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

Definition at line 355 of file O3prm.h.

Member Typedef Documentation

◆ O3InterfaceElementList

Definition at line 357 of file O3prm.h.

Constructor & Destructor Documentation

◆ O3Interface() [1/3]

gum::prm::o3prm::O3Interface::O3Interface ( )

Definition at line 592 of file O3prm.cpp.

592  : _elts_(new O3InterfaceElementList()) {
593  GUM_CONSTRUCTOR(O3Interface);
594  }
std::unique_ptr< O3InterfaceElementList > _elts_
Definition: O3prm.h:383
std::vector< O3InterfaceElement > O3InterfaceElementList
Definition: O3prm.h:357

◆ O3Interface() [2/3]

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

Definition at line 596 of file O3prm.cpp.

596  :
597  _pos_(src._pos_), _name_(src._name_), _superLabel_(src._superLabel_) {
598  GUM_CONS_CPY(O3Interface);
599  auto copy = new O3InterfaceElementList(src.elements());
600  _elts_ = std::unique_ptr< O3InterfaceElementList >(copy);
601  }
std::unique_ptr< O3InterfaceElementList > _elts_
Definition: O3prm.h:383
std::vector< O3InterfaceElement > O3InterfaceElementList
Definition: O3prm.h:357

◆ O3Interface() [3/3]

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

Definition at line 603 of file O3prm.cpp.

603  :
604  _pos_(std::move(src._pos_)), _name_(std::move(src._name_)),
605  _superLabel_(std::move(src._superLabel_)), _elts_(std::move(src._elts_)) {
606  GUM_CONS_MOV(O3Interface);
607  }
std::unique_ptr< O3InterfaceElementList > _elts_
Definition: O3prm.h:383

◆ ~O3Interface()

gum::prm::o3prm::O3Interface::~O3Interface ( )

Definition at line 609 of file O3prm.cpp.

609  {
610  GUM_DESTRUCTOR(O3Interface);
611  ;
612  }

Member Function Documentation

◆ elements() [1/2]

O3Interface::O3InterfaceElementList & gum::prm::o3prm::O3Interface::elements ( )

Definition at line 642 of file O3prm.cpp.

642 { return *_elts_; }
std::unique_ptr< O3InterfaceElementList > _elts_
Definition: O3prm.h:383

◆ elements() [2/2]

const O3Interface::O3InterfaceElementList & gum::prm::o3prm::O3Interface::elements ( ) const

Definition at line 643 of file O3prm.cpp.

643 { return *_elts_; }
std::unique_ptr< O3InterfaceElementList > _elts_
Definition: O3prm.h:383

◆ name() [1/2]

O3Label & gum::prm::o3prm::O3Interface::name ( )

Definition at line 636 of file O3prm.cpp.

636 { return _name_; }

◆ name() [2/2]

const O3Label & gum::prm::o3prm::O3Interface::name ( ) const

Definition at line 637 of file O3prm.cpp.

637 { return _name_; }

◆ operator=() [1/2]

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

Definition at line 614 of file O3prm.cpp.

614  {
615  if (this == &src) { return *this; }
616  _pos_ = src._pos_;
617  _name_ = src._name_;
618  _superLabel_ = src._superLabel_;
619  auto copy = new O3InterfaceElementList(src.elements());
620  _elts_ = std::unique_ptr< O3InterfaceElementList >(copy);
621  return *this;
622  }
std::unique_ptr< O3InterfaceElementList > _elts_
Definition: O3prm.h:383
std::vector< O3InterfaceElement > O3InterfaceElementList
Definition: O3prm.h:357

◆ operator=() [2/2]

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

Definition at line 624 of file O3prm.cpp.

624  {
625  if (this == &src) { return *this; }
626  _pos_ = std::move(src._pos_);
627  _name_ = std::move(src._name_);
628  _superLabel_ = std::move(src._superLabel_);
629  _elts_ = std::move(src._elts_);
630  return *this;
631  }
std::unique_ptr< O3InterfaceElementList > _elts_
Definition: O3prm.h:383

◆ position() [1/2]

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

Definition at line 633 of file O3prm.cpp.

633 { return _pos_; }

◆ position() [2/2]

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

Definition at line 634 of file O3prm.cpp.

634 { return _pos_; }

◆ superLabel() [1/2]

O3Label & gum::prm::o3prm::O3Interface::superLabel ( )

Definition at line 639 of file O3prm.cpp.

639 { return _superLabel_; }

◆ superLabel() [2/2]

const O3Label & gum::prm::o3prm::O3Interface::superLabel ( ) const

Definition at line 640 of file O3prm.cpp.

640 { return _superLabel_; }

Member Data Documentation

◆ _elts_

std::unique_ptr< O3InterfaceElementList > gum::prm::o3prm::O3Interface::_elts_
private

Definition at line 383 of file O3prm.h.

◆ _name_

O3Label gum::prm::o3prm::O3Interface::_name_
private

Definition at line 381 of file O3prm.h.

◆ _pos_

O3Position gum::prm::o3prm::O3Interface::_pos_
private

Definition at line 380 of file O3prm.h.

◆ _superLabel_

O3Label gum::prm::o3prm::O3Interface::_superLabel_
private

Definition at line 382 of file O3prm.h.


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