aGrUM  0.13.2
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

Definition at line 356 of file O3prm.h.

Constructor & Destructor Documentation

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

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
gum::prm::o3prm::O3Interface::~O3Interface ( )

Definition at line 584 of file O3prm.cpp.

584 { GUM_DESTRUCTOR(O3Interface); }

Member Function Documentation

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:

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
const O3Label & gum::prm::o3prm::O3Interface::name ( ) const

Definition at line 609 of file O3prm.cpp.

References __name.

609 { return __name; }
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:

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
O3Position & gum::prm::o3prm::O3Interface::position ( )

Definition at line 605 of file O3prm.cpp.

References __pos.

605 { return __pos; }
const O3Position & gum::prm::o3prm::O3Interface::position ( ) const

Definition at line 606 of file O3prm.cpp.

References __pos.

606 { return __pos; }
O3Label & gum::prm::o3prm::O3Interface::superLabel ( )

Definition at line 611 of file O3prm.cpp.

References __superLabel.

611 { return __superLabel; }
const O3Label & gum::prm::o3prm::O3Interface::superLabel ( ) const

Definition at line 612 of file O3prm.cpp.

References __superLabel.

612 { return __superLabel; }

Member Data Documentation

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

Definition at line 382 of file O3prm.h.

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

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

Definition at line 380 of file O3prm.h.

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

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

Definition at line 379 of file O3prm.h.

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

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: