aGrUM 3.2.0
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:
[legend]

Public Types

using O3InterfaceElementList = std::vector< O3InterfaceElement >

Public Member Functions

 O3Interface ()
 O3Interface (const O3Interface &src)
 O3Interface (O3Interface &&src)
 ~O3Interface ()
O3Interface & operator= (const O3Interface &src)
O3Interface & operator= (O3Interface &&src)
O3Position & position ()
const O3Position & position () const
O3Label & name ()
const O3Label & name () const
O3Label & superLabel ()
const O3Label & superLabel () const
O3InterfaceElementList & elements ()
const O3InterfaceElementList & elements () const

Private Attributes

O3Position _pos_
O3Label _name_
O3Label _superLabel_
std::unique_ptr< O3InterfaceElementList > _elts_

Detailed Description

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

Definition at line 377 of file O3prm.h.

Member Typedef Documentation

◆ O3InterfaceElementList

Definition at line 379 of file O3prm.h.

Constructor & Destructor Documentation

◆ O3Interface() [1/3]

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

Definition at line 642 of file O3prm.cpp.

643 GUM_CONSTRUCTOR(O3Interface);
644 }
std::vector< O3InterfaceElement > O3InterfaceElementList
Definition O3prm.h:379
std::unique_ptr< O3InterfaceElementList > _elts_
Definition O3prm.h:405

References O3Interface(), and _elts_.

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

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

◆ O3Interface() [2/3]

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

Definition at line 646 of file O3prm.cpp.

646 :
647 _pos_(src._pos_), _name_(src._name_), _superLabel_(src._superLabel_) {
648 GUM_CONS_CPY(O3Interface);
649 auto copy = new O3InterfaceElementList(src.elements());
650 _elts_ = std::unique_ptr< O3InterfaceElementList >(copy);
651 }

References O3Interface(), _elts_, _name_, _pos_, _superLabel_, and elements().

Here is the call graph for this function:

◆ O3Interface() [3/3]

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

Definition at line 653 of file O3prm.cpp.

653 :
654 _pos_(std::move(src._pos_)), _name_(std::move(src._name_)),
655 _superLabel_(std::move(src._superLabel_)), _elts_(std::move(src._elts_)) {
656 GUM_CONS_MOV(O3Interface);
657 }

References O3Interface(), _elts_, _name_, _pos_, and _superLabel_.

Here is the call graph for this function:

◆ ~O3Interface()

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

Definition at line 659 of file O3prm.cpp.

659 {
660 GUM_DESTRUCTOR(O3Interface);
661 ;
662 }

References O3Interface().

Here is the call graph for this function:

Member Function Documentation

◆ elements() [1/2]

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

Definition at line 695 of file O3prm.cpp.

695{ return *_elts_; }

References _elts_.

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

Here is the caller graph for this function:

◆ elements() [2/2]

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

Definition at line 697 of file O3prm.cpp.

697{ return *_elts_; }

References _elts_.

◆ name() [1/2]

◆ name() [2/2]

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

Definition at line 689 of file O3prm.cpp.

689{ return _name_; }

References _name_.

◆ operator=() [1/2]

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

Definition at line 664 of file O3prm.cpp.

664 {
665 if (this == &src) { return *this; }
666 _pos_ = src._pos_;
667 _name_ = src._name_;
668 _superLabel_ = src._superLabel_;
669 auto copy = new O3InterfaceElementList(src.elements());
670 _elts_ = std::unique_ptr< O3InterfaceElementList >(copy);
671 return *this;
672 }

References O3Interface(), _elts_, _name_, _pos_, _superLabel_, and elements().

Here is the call graph for this function:

◆ operator=() [2/2]

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

Definition at line 674 of file O3prm.cpp.

674 {
675 if (this == &src) { return *this; }
676 _pos_ = std::move(src._pos_);
677 _name_ = std::move(src._name_);
678 _superLabel_ = std::move(src._superLabel_);
679 _elts_ = std::move(src._elts_);
680 return *this;
681 }

References O3Interface(), _elts_, _name_, _pos_, and _superLabel_.

Here is the call graph for this function:

◆ position() [1/2]

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

Definition at line 683 of file O3prm.cpp.

683{ return _pos_; }

References _pos_.

◆ position() [2/2]

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

Definition at line 685 of file O3prm.cpp.

685{ return _pos_; }

References _pos_.

◆ superLabel() [1/2]

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

Definition at line 691 of file O3prm.cpp.

691{ return _superLabel_; }

References _superLabel_.

◆ superLabel() [2/2]

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

Definition at line 693 of file O3prm.cpp.

693{ return _superLabel_; }

References _superLabel_.

Member Data Documentation

◆ _elts_

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

Definition at line 405 of file O3prm.h.

Referenced by O3Interface(), O3Interface(), O3Interface(), elements(), elements(), operator=(), and operator=().

◆ _name_

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

Definition at line 403 of file O3prm.h.

Referenced by O3Interface(), O3Interface(), name(), name(), operator=(), and operator=().

◆ _pos_

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

Definition at line 402 of file O3prm.h.

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

◆ _superLabel_

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

Definition at line 404 of file O3prm.h.

Referenced by O3Interface(), O3Interface(), operator=(), operator=(), superLabel(), and superLabel().


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