aGrUM  0.20.3
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 471 of file O3prm.h.

Member Typedef Documentation

◆ O3LabelList

Definition at line 473 of file O3prm.h.

Constructor & Destructor Documentation

◆ O3Attribute() [1/4]

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

Definition at line 645 of file O3prm.cpp.

645  {
646  GUM_CONSTRUCTOR(O3Attribute);
647  ;
648  }

◆ O3Attribute() [2/4]

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

Definition at line 650 of file O3prm.cpp.

652  :
653  _type_(type),
655  GUM_CONSTRUCTOR(O3Attribute);
656  }
virtual O3LabelList & parents()
Definition: O3prm.cpp:696
virtual O3Label & type()
Definition: O3prm.cpp:690
virtual O3Label & name()
Definition: O3prm.cpp:693

◆ O3Attribute() [3/4]

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

Definition at line 658 of file O3prm.cpp.

658  :
659  _type_(src._type_), _name_(src._name_), _parents_(src._parents_) {
660  GUM_CONS_CPY(O3Attribute);
661  }

◆ O3Attribute() [4/4]

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

Definition at line 663 of file O3prm.cpp.

663  :
664  _type_(std::move(src._type_)), _name_(std::move(src._name_)),
665  _parents_(std::move(src._parents_)) {
666  GUM_CONS_MOV(O3Attribute);
667  }

◆ ~O3Attribute()

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

Definition at line 669 of file O3prm.cpp.

669  {
670  GUM_DESTRUCTOR(O3Attribute);
671  ;
672  }

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 693 of file O3prm.cpp.

693 { return _name_; }

◆ name() [2/2]

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

Definition at line 694 of file O3prm.cpp.

694 { return _name_; }

◆ operator=() [1/2]

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

Definition at line 674 of file O3prm.cpp.

674  {
675  if (this == &src) { return *this; }
676  _type_ = src._type_;
677  _name_ = src._name_;
678  _parents_ = src._parents_;
679  return *this;
680  }

◆ operator=() [2/2]

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

Definition at line 682 of file O3prm.cpp.

682  {
683  if (this == &src) { return *this; }
684  _type_ = std::move(src._type_);
685  _name_ = std::move(src._name_);
686  _parents_ = std::move(src._parents_);
687  return *this;
688  }

◆ parents() [1/2]

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

Definition at line 696 of file O3prm.cpp.

696 { return _parents_; }

◆ parents() [2/2]

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

Definition at line 697 of file O3prm.cpp.

697 { return _parents_; }

◆ type() [1/2]

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

Definition at line 690 of file O3prm.cpp.

690 { return _type_; }

◆ type() [2/2]

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

Definition at line 691 of file O3prm.cpp.

691 { return _type_; }

Member Data Documentation

◆ _name_

O3Label gum::prm::o3prm::O3Attribute::_name_
private

Definition at line 497 of file O3prm.h.

◆ _parents_

O3LabelList gum::prm::o3prm::O3Attribute::_parents_
private

Definition at line 498 of file O3prm.h.

◆ _type_

O3Label gum::prm::o3prm::O3Attribute::_type_
private

Definition at line 496 of file O3prm.h.


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