aGrUM  0.16.0
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 356 of file O3prm.h.

Member Typedef Documentation

◆ O3InterfaceElementList

Definition at line 358 of file O3prm.h.

Constructor & Destructor Documentation

◆ O3Interface() [1/3]

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

Definition at line 568 of file O3prm.cpp.

568  : __elts(new O3InterfaceElementList()) {
569  GUM_CONSTRUCTOR(O3Interface);
570  }
std::unique_ptr< O3InterfaceElementList > __elts
Definition: O3prm.h:384
std::vector< O3InterfaceElement > O3InterfaceElementList
Definition: O3prm.h:358

◆ O3Interface() [2/3]

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

Definition at line 572 of file O3prm.cpp.

References __elts, and elements().

572  :
573  __pos(src.__pos), __name(src.__name), __superLabel(src.__superLabel) {
574  GUM_CONS_CPY(O3Interface);
575  auto copy = new O3InterfaceElementList(src.elements());
576  __elts = std::unique_ptr< O3InterfaceElementList >(copy);
577  }
std::unique_ptr< O3InterfaceElementList > __elts
Definition: O3prm.h:384
std::vector< O3InterfaceElement > O3InterfaceElementList
Definition: O3prm.h:358
+ Here is the call graph for this function:

◆ O3Interface() [3/3]

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

Definition at line 579 of file O3prm.cpp.

579  :
580  __pos(std::move(src.__pos)), __name(std::move(src.__name)),
581  __superLabel(std::move(src.__superLabel)),
582  __elts(std::move(src.__elts)) {
583  GUM_CONS_MOV(O3Interface);
584  }
std::unique_ptr< O3InterfaceElementList > __elts
Definition: O3prm.h:384

◆ ~O3Interface()

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

Definition at line 586 of file O3prm.cpp.

586 { GUM_DESTRUCTOR(O3Interface); }

Member Function Documentation

◆ elements() [1/2]

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

Definition at line 616 of file O3prm.cpp.

References __elts.

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

616  {
617  return *__elts;
618  }
std::unique_ptr< O3InterfaceElementList > __elts
Definition: O3prm.h:384
+ Here is the caller graph for this function:

◆ elements() [2/2]

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

Definition at line 619 of file O3prm.cpp.

References __elts.

619  {
620  return *__elts;
621  }
std::unique_ptr< O3InterfaceElementList > __elts
Definition: O3prm.h:384

◆ name() [1/2]

◆ name() [2/2]

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

Definition at line 611 of file O3prm.cpp.

References __name.

611 { return __name; }

◆ operator=() [1/2]

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

Definition at line 588 of file O3prm.cpp.

References __elts, __name, __pos, __superLabel, and elements().

588  {
589  if (this == &src) { return *this; }
590  __pos = src.__pos;
591  __name = src.__name;
592  __superLabel = src.__superLabel;
593  auto copy = new O3InterfaceElementList(src.elements());
594  __elts = std::unique_ptr< O3InterfaceElementList >(copy);
595  return *this;
596  }
std::unique_ptr< O3InterfaceElementList > __elts
Definition: O3prm.h:384
std::vector< O3InterfaceElement > O3InterfaceElementList
Definition: O3prm.h:358
+ Here is the call graph for this function:

◆ operator=() [2/2]

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

Definition at line 598 of file O3prm.cpp.

References __elts, __name, __pos, and __superLabel.

598  {
599  if (this == &src) { return *this; }
600  __pos = std::move(src.__pos);
601  __name = std::move(src.__name);
602  __superLabel = std::move(src.__superLabel);
603  __elts = std::move(src.__elts);
604  return *this;
605  }
std::unique_ptr< O3InterfaceElementList > __elts
Definition: O3prm.h:384

◆ position() [1/2]

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

Definition at line 607 of file O3prm.cpp.

References __pos.

607 { return __pos; }

◆ position() [2/2]

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

Definition at line 608 of file O3prm.cpp.

References __pos.

608 { return __pos; }

◆ superLabel() [1/2]

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

Definition at line 613 of file O3prm.cpp.

References __superLabel.

613 { return __superLabel; }

◆ superLabel() [2/2]

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

Definition at line 614 of file O3prm.cpp.

References __superLabel.

614 { return __superLabel; }

Member Data Documentation

◆ __elts

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

Definition at line 384 of file O3prm.h.

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

◆ __name

O3Label gum::prm::o3prm::O3Interface::__name
private

Definition at line 382 of file O3prm.h.

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

◆ __pos

O3Position gum::prm::o3prm::O3Interface::__pos
private

Definition at line 381 of file O3prm.h.

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

◆ __superLabel

O3Label gum::prm::o3prm::O3Interface::__superLabel
private

Definition at line 383 of file O3prm.h.

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


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