aGrUM  0.13.2
gum::prm::o3prm::O3Attribute Class Referenceabstract

The O3Attribute is part of the AST of the O3PRM language. More...

#include <agrum/PRM/o3prm/O3prm.h>

+ Inheritance diagram for gum::prm::o3prm::O3Attribute:
+ Collaboration diagram for gum::prm::o3prm::O3Attribute:

Public Member Functions

 O3Attribute ()
 
 O3Attribute (const O3Label &type, const O3Label &name, const O3LabelList &parents)
 
 O3Attribute (const O3Attribute &src)
 
 O3Attribute (O3Attribute &&src)
 
virtual ~O3Attribute ()
 
virtual O3Attributeoperator= (const O3Attribute &src)
 
virtual O3Attributeoperator= (O3Attribute &&src)
 
virtual O3Labeltype ()
 
virtual const O3Labeltype () const
 
virtual O3Labelname ()
 
virtual const O3Labelname () const
 
virtual O3LabelListparents ()
 
virtual const O3LabelListparents () const
 
virtual std::unique_ptr< O3Attributecopy () const =0
 

Public Types

using O3LabelList = std::vector< O3Label >
 

Detailed Description

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

Definition at line 469 of file O3prm.h.

Member Typedef Documentation

Definition at line 471 of file O3prm.h.

Constructor & Destructor Documentation

gum::prm::o3prm::O3Attribute::O3Attribute ( )

Definition at line 621 of file O3prm.cpp.

621 { GUM_CONSTRUCTOR(O3Attribute); }
gum::prm::o3prm::O3Attribute::O3Attribute ( const O3Label type,
const O3Label name,
const O3LabelList parents 
)

Definition at line 623 of file O3prm.cpp.

625  :
626  __type(type),
628  GUM_CONSTRUCTOR(O3Attribute);
629  }
virtual O3LabelList & parents()
Definition: O3prm.cpp:666
virtual O3Label & type()
Definition: O3prm.cpp:660
virtual O3Label & name()
Definition: O3prm.cpp:663
gum::prm::o3prm::O3Attribute::O3Attribute ( const O3Attribute src)

Definition at line 631 of file O3prm.cpp.

631  :
632  __type(src.__type), __name(src.__name), __parents(src.__parents) {
633  GUM_CONS_CPY(O3Attribute);
634  }
gum::prm::o3prm::O3Attribute::O3Attribute ( O3Attribute &&  src)

Definition at line 636 of file O3prm.cpp.

636  :
637  __type(std::move(src.__type)), __name(std::move(src.__name)),
638  __parents(std::move(src.__parents)) {
639  GUM_CONS_MOV(O3Attribute);
640  }
gum::prm::o3prm::O3Attribute::~O3Attribute ( )
virtual

Definition at line 642 of file O3prm.cpp.

642 { GUM_DESTRUCTOR(O3Attribute); }

Member Function Documentation

virtual std::unique_ptr< O3Attribute > gum::prm::o3prm::O3Attribute::copy ( ) const
pure virtual
O3Label & gum::prm::o3prm::O3Attribute::name ( )
virtual

Definition at line 663 of file O3prm.cpp.

References __name.

Referenced by gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkAttributeForDeclaration(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkRawCPT(), and gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkRuleCPTSumsTo1().

663 { return __name; }

+ Here is the caller graph for this function:

const O3Label & gum::prm::o3prm::O3Attribute::name ( ) const
virtual

Definition at line 664 of file O3prm.cpp.

References __name.

664 { return __name; }
O3Attribute & gum::prm::o3prm::O3Attribute::operator= ( const O3Attribute src)
virtual

Definition at line 644 of file O3prm.cpp.

References __name, __parents, and __type.

Referenced by gum::prm::o3prm::O3RawCPT::operator=(), and gum::prm::o3prm::O3RuleCPT::operator=().

644  {
645  if (this == &src) { return *this; }
646  __type = src.__type;
647  __name = src.__name;
648  __parents = src.__parents;
649  return *this;
650  }

+ Here is the caller graph for this function:

O3Attribute & gum::prm::o3prm::O3Attribute::operator= ( O3Attribute &&  src)
virtual

Definition at line 652 of file O3prm.cpp.

References __name, __parents, and __type.

652  {
653  if (this == &src) { return *this; }
654  __type = std::move(src.__type);
655  __name = std::move(src.__name);
656  __parents = std::move(src.__parents);
657  return *this;
658  }
O3Attribute::O3LabelList & gum::prm::o3prm::O3Attribute::parents ( )
virtual

Definition at line 666 of file O3prm.cpp.

References __parents.

Referenced by gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkAttributeForCompletion(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkLabelsNumber(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkLabelsValues(), and gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkRawCPT().

666 { return __parents; }

+ Here is the caller graph for this function:

const O3Attribute::O3LabelList & gum::prm::o3prm::O3Attribute::parents ( ) const
virtual

Definition at line 667 of file O3prm.cpp.

References __parents.

667  {
668  return __parents;
669  }
O3Label & gum::prm::o3prm::O3Attribute::type ( )
virtual

Definition at line 660 of file O3prm.cpp.

References __type.

Referenced by gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkAttributeForDeclaration(), and gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkRawCPT().

660 { return __type; }

+ Here is the caller graph for this function:

const O3Label & gum::prm::o3prm::O3Attribute::type ( ) const
virtual

Definition at line 661 of file O3prm.cpp.

References __type.

661 { return __type; }

Member Data Documentation

O3Label gum::prm::o3prm::O3Attribute::__name
private

Definition at line 497 of file O3prm.h.

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

O3LabelList gum::prm::o3prm::O3Attribute::__parents
private

Definition at line 498 of file O3prm.h.

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

O3Label gum::prm::o3prm::O3Attribute::__type
private

Definition at line 496 of file O3prm.h.

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


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