aGrUM  0.14.1
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 354 of file O3prm.h.

Member Typedef Documentation

◆ O3InterfaceElementList

Definition at line 356 of file O3prm.h.

Constructor & Destructor Documentation

◆ O3Interface() [1/3]

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

Definition at line 566 of file O3prm.cpp.

566  : __elts(new O3InterfaceElementList()) {
567  GUM_CONSTRUCTOR(O3Interface);
568  }
std::unique_ptr< O3InterfaceElementList > __elts
Definition: O3prm.h:382
std::vector< O3InterfaceElement > O3InterfaceElementList
Definition: O3prm.h:356

◆ O3Interface() [2/3]

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

Definition at line 570 of file O3prm.cpp.

References __elts, and elements().

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

◆ O3Interface() [3/3]

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

Definition at line 577 of file O3prm.cpp.

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

◆ ~O3Interface()

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

Definition at line 584 of file O3prm.cpp.

584 { GUM_DESTRUCTOR(O3Interface); }

Member Function Documentation

◆ elements() [1/2]

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

Definition at line 614 of file O3prm.cpp.

References __elts.

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

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

◆ elements() [2/2]

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

Definition at line 617 of file O3prm.cpp.

References __elts.

617  {
618  return *__elts;
619  }
std::unique_ptr< O3InterfaceElementList > __elts
Definition: O3prm.h:382

◆ name() [1/2]

◆ name() [2/2]

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

Definition at line 609 of file O3prm.cpp.

References __name.

609 { return __name; }

◆ operator=() [1/2]

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

Definition at line 586 of file O3prm.cpp.

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

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

◆ operator=() [2/2]

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

Definition at line 596 of file O3prm.cpp.

References __elts, __name, __pos, and __superLabel.

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

◆ position() [1/2]

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

Definition at line 605 of file O3prm.cpp.

References __pos.

605 { return __pos; }

◆ position() [2/2]

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

Definition at line 606 of file O3prm.cpp.

References __pos.

606 { return __pos; }

◆ superLabel() [1/2]

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

Definition at line 611 of file O3prm.cpp.

References __superLabel.

611 { return __superLabel; }

◆ superLabel() [2/2]

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

Definition at line 612 of file O3prm.cpp.

References __superLabel.

612 { return __superLabel; }

Member Data Documentation

◆ __elts

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

Definition at line 382 of file O3prm.h.

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

◆ __name

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

Definition at line 380 of file O3prm.h.

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

◆ __pos

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

Definition at line 379 of file O3prm.h.

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

◆ __superLabel

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

Definition at line 381 of file O3prm.h.

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


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