aGrUM  0.20.2
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 567 of file O3prm.cpp.

567  : elts__(new O3InterfaceElementList()) {
568  GUM_CONSTRUCTOR(O3Interface);
569  }
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 571 of file O3prm.cpp.

571  :
572  pos__(src.pos__), name__(src.name__), superLabel__(src.superLabel__) {
573  GUM_CONS_CPY(O3Interface);
574  auto copy = new O3InterfaceElementList(src.elements());
575  elts__ = std::unique_ptr< O3InterfaceElementList >(copy);
576  }
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 578 of file O3prm.cpp.

578  :
579  pos__(std::move(src.pos__)), name__(std::move(src.name__)),
580  superLabel__(std::move(src.superLabel__)),
581  elts__(std::move(src.elts__)) {
582  GUM_CONS_MOV(O3Interface);
583  }
std::unique_ptr< O3InterfaceElementList > elts__
Definition: O3prm.h:383

◆ ~O3Interface()

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

Definition at line 585 of file O3prm.cpp.

585 { GUM_DESTRUCTOR(O3Interface); }

Member Function Documentation

◆ elements() [1/2]

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

Definition at line 615 of file O3prm.cpp.

615  {
616  return *elts__;
617  }
std::unique_ptr< O3InterfaceElementList > elts__
Definition: O3prm.h:383

◆ elements() [2/2]

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

Definition at line 618 of file O3prm.cpp.

618  {
619  return *elts__;
620  }
std::unique_ptr< O3InterfaceElementList > elts__
Definition: O3prm.h:383

◆ name() [1/2]

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

Definition at line 609 of file O3prm.cpp.

609 { return name__; }

◆ name() [2/2]

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

Definition at line 610 of file O3prm.cpp.

610 { return name__; }

◆ operator=() [1/2]

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

Definition at line 587 of file O3prm.cpp.

587  {
588  if (this == &src) { return *this; }
589  pos__ = src.pos__;
590  name__ = src.name__;
591  superLabel__ = src.superLabel__;
592  auto copy = new O3InterfaceElementList(src.elements());
593  elts__ = std::unique_ptr< O3InterfaceElementList >(copy);
594  return *this;
595  }
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 597 of file O3prm.cpp.

597  {
598  if (this == &src) { return *this; }
599  pos__ = std::move(src.pos__);
600  name__ = std::move(src.name__);
601  superLabel__ = std::move(src.superLabel__);
602  elts__ = std::move(src.elts__);
603  return *this;
604  }
std::unique_ptr< O3InterfaceElementList > elts__
Definition: O3prm.h:383

◆ position() [1/2]

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

Definition at line 606 of file O3prm.cpp.

606 { return pos__; }

◆ position() [2/2]

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

Definition at line 607 of file O3prm.cpp.

607 { return pos__; }

◆ superLabel() [1/2]

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

Definition at line 612 of file O3prm.cpp.

612 { return superLabel__; }

◆ superLabel() [2/2]

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

Definition at line 613 of file O3prm.cpp.

613 { 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: