aGrUM  0.20.2
a C++ library for (probabilistic) graphical models
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 475 of file O3prm.h.

Member Typedef Documentation

◆ O3LabelList

Definition at line 477 of file O3prm.h.

Constructor & Destructor Documentation

◆ O3Attribute() [1/4]

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

Definition at line 622 of file O3prm.cpp.

622 { GUM_CONSTRUCTOR(O3Attribute); }

◆ O3Attribute() [2/4]

gum::prm::o3prm::O3Attribute::O3Attribute ( const O3Label type,
const O3Label name,
const O3LabelList parents 
)

Definition at line 624 of file O3prm.cpp.

626  :
627  type__(type),
629  GUM_CONSTRUCTOR(O3Attribute);
630  }
virtual O3LabelList & parents()
Definition: O3prm.cpp:667
virtual O3Label & type()
Definition: O3prm.cpp:661
virtual O3Label & name()
Definition: O3prm.cpp:664

◆ O3Attribute() [3/4]

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

Definition at line 632 of file O3prm.cpp.

632  :
633  type__(src.type__), name__(src.name__), parents__(src.parents__) {
634  GUM_CONS_CPY(O3Attribute);
635  }

◆ O3Attribute() [4/4]

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

Definition at line 637 of file O3prm.cpp.

637  :
638  type__(std::move(src.type__)), name__(std::move(src.name__)),
639  parents__(std::move(src.parents__)) {
640  GUM_CONS_MOV(O3Attribute);
641  }

◆ ~O3Attribute()

gum::prm::o3prm::O3Attribute::~O3Attribute ( )
virtual

Definition at line 643 of file O3prm.cpp.

643 { GUM_DESTRUCTOR(O3Attribute); }

Member Function Documentation

◆ copy()

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

◆ name() [1/2]

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

Definition at line 664 of file O3prm.cpp.

664 { return name__; }

◆ name() [2/2]

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

Definition at line 665 of file O3prm.cpp.

665 { return name__; }

◆ operator=() [1/2]

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

Definition at line 645 of file O3prm.cpp.

645  {
646  if (this == &src) { return *this; }
647  type__ = src.type__;
648  name__ = src.name__;
649  parents__ = src.parents__;
650  return *this;
651  }

◆ operator=() [2/2]

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

Definition at line 653 of file O3prm.cpp.

653  {
654  if (this == &src) { return *this; }
655  type__ = std::move(src.type__);
656  name__ = std::move(src.name__);
657  parents__ = std::move(src.parents__);
658  return *this;
659  }

◆ parents() [1/2]

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

Definition at line 667 of file O3prm.cpp.

667 { return parents__; }

◆ parents() [2/2]

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

Definition at line 668 of file O3prm.cpp.

668  {
669  return parents__;
670  }

◆ type() [1/2]

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

Definition at line 661 of file O3prm.cpp.

661 { return type__; }

◆ type() [2/2]

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

Definition at line 662 of file O3prm.cpp.

662 { return type__; }

Member Data Documentation

◆ name__

O3Label gum::prm::o3prm::O3Attribute::name__
private

Definition at line 503 of file O3prm.h.

◆ parents__

O3LabelList gum::prm::o3prm::O3Attribute::parents__
private

Definition at line 504 of file O3prm.h.

◆ type__

O3Label gum::prm::o3prm::O3Attribute::type__
private

Definition at line 502 of file O3prm.h.


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