aGrUM 3.2.0
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:
[legend]
Collaboration diagram for gum::prm::o3prm::O3Attribute:
[legend]

Public Types

using O3LabelList = std::vector< O3Label >

Public Member Functions

 O3Attribute ()
 O3Attribute (const O3Label &type, const O3Label &name, const O3LabelList &parents)
 O3Attribute (const O3Attribute &src)
 O3Attribute (O3Attribute &&src)
virtual ~O3Attribute ()
virtual O3Attribute & operator= (const O3Attribute &src)
virtual O3Attribute & operator= (O3Attribute &&src)
virtual O3Label & type ()
virtual const O3Label & type () const
virtual O3Label & name ()
virtual const O3Label & name () const
virtual O3LabelList & parents ()
virtual const O3LabelList & parents () const
virtual std::unique_ptr< O3Attribute > copy () const =0

Private Attributes

O3Label _type_
O3Label _name_
O3LabelList _parents_

Detailed Description

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

Definition at line 488 of file O3prm.h.

Member Typedef Documentation

◆ O3LabelList

Definition at line 490 of file O3prm.h.

Constructor & Destructor Documentation

◆ O3Attribute() [1/4]

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

Definition at line 699 of file O3prm.cpp.

699 {
700 GUM_CONSTRUCTOR(O3Attribute);
701 ;
702 }

References O3Attribute().

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ O3Attribute() [2/4]

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

Definition at line 704 of file O3prm.cpp.

706 :
708 GUM_CONSTRUCTOR(O3Attribute);
709 }
virtual O3Label & type()
Definition O3prm.cpp:743
virtual O3Label & name()
Definition O3prm.cpp:747
virtual O3LabelList & parents()
Definition O3prm.cpp:751

References O3Attribute(), _name_, _parents_, _type_, name(), parents(), and type().

Here is the call graph for this function:

◆ O3Attribute() [3/4]

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

Definition at line 711 of file O3prm.cpp.

711 :
712 _type_(src._type_), _name_(src._name_), _parents_(src._parents_) {
713 GUM_CONS_CPY(O3Attribute);
714 }

References O3Attribute(), _name_, _parents_, and _type_.

Here is the call graph for this function:

◆ O3Attribute() [4/4]

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

Definition at line 716 of file O3prm.cpp.

716 :
717 _type_(std::move(src._type_)), _name_(std::move(src._name_)),
718 _parents_(std::move(src._parents_)) {
719 GUM_CONS_MOV(O3Attribute);
720 }

References O3Attribute(), _name_, _parents_, and _type_.

Here is the call graph for this function:

◆ ~O3Attribute()

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

Definition at line 722 of file O3prm.cpp.

722 {
723 GUM_DESTRUCTOR(O3Attribute);
724 ;
725 }

References O3Attribute().

Here is the call graph for this function:

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

747{ return _name_; }

References _name_.

Referenced by O3Attribute(), gum::prm::o3prm::O3RawCPT::O3RawCPT(), gum::prm::o3prm::O3RuleCPT::O3RuleCPT(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkAttributeForDeclaration_(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkRawCPT_(), and gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkRuleCPTSumsTo1_().

Here is the caller graph for this function:

◆ name() [2/2]

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

Definition at line 749 of file O3prm.cpp.

749{ return _name_; }

References _name_.

◆ operator=() [1/2]

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

Reimplemented in gum::prm::o3prm::O3RawCPT, and gum::prm::o3prm::O3RuleCPT.

Definition at line 727 of file O3prm.cpp.

727 {
728 if (this == &src) { return *this; }
729 _type_ = src._type_;
730 _name_ = src._name_;
731 _parents_ = src._parents_;
732 return *this;
733 }

References O3Attribute(), _name_, _parents_, and _type_.

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [2/2]

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

Reimplemented in gum::prm::o3prm::O3RawCPT, and gum::prm::o3prm::O3RuleCPT.

Definition at line 735 of file O3prm.cpp.

735 {
736 if (this == &src) { return *this; }
737 _type_ = std::move(src._type_);
738 _name_ = std::move(src._name_);
739 _parents_ = std::move(src._parents_);
740 return *this;
741 }

References O3Attribute(), _name_, _parents_, and _type_.

Here is the call graph for this function:

◆ parents() [1/2]

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

◆ parents() [2/2]

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

Definition at line 753 of file O3prm.cpp.

753{ return _parents_; }

References _parents_.

◆ type() [1/2]

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

Definition at line 743 of file O3prm.cpp.

743{ return _type_; }

References _type_.

Referenced by O3Attribute(), gum::prm::o3prm::O3RawCPT::O3RawCPT(), gum::prm::o3prm::O3RuleCPT::O3RuleCPT(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkAttributeForDeclaration_(), and gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::_checkRawCPT_().

Here is the caller graph for this function:

◆ type() [2/2]

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

Definition at line 745 of file O3prm.cpp.

745{ return _type_; }

References _type_.

Member Data Documentation

◆ _name_

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

Definition at line 514 of file O3prm.h.

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

◆ _parents_

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

Definition at line 515 of file O3prm.h.

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

◆ _type_

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

Definition at line 513 of file O3prm.h.

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


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