aGrUM 3.2.0
a C++ library for (probabilistic) graphical models
gum::prm::o3prm::O3RawCPT Class Reference

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

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

Inheritance diagram for gum::prm::o3prm::O3RawCPT:
[legend]
Collaboration diagram for gum::prm::o3prm::O3RawCPT:
[legend]

Public Types

using O3FormulaList = std::vector< O3Formula >
using O3LabelList = std::vector< O3Label >

Public Member Functions

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

Private Member Functions

virtual O3Attribute & operator= (const O3Attribute &src)
virtual O3Attribute & operator= (O3Attribute &&src)

Private Attributes

std::unique_ptr< O3FormulaList > _values_
O3Label _type_
O3Label _name_
O3LabelList _parents_

Detailed Description

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

Definition at line 525 of file O3prm.h.

Member Typedef Documentation

◆ O3FormulaList

Definition at line 527 of file O3prm.h.

◆ O3LabelList

using gum::prm::o3prm::O3Attribute::O3LabelList = std::vector< O3Label >
inherited

Definition at line 490 of file O3prm.h.

Constructor & Destructor Documentation

◆ O3RawCPT() [1/4]

gum::prm::o3prm::O3RawCPT::O3RawCPT ( )

Definition at line 755 of file O3prm.cpp.

756 GUM_CONSTRUCTOR(O3RawCPT);
757 }
std::unique_ptr< O3FormulaList > _values_
Definition O3prm.h:551
std::vector< O3Formula > O3FormulaList
Definition O3prm.h:527

References gum::prm::o3prm::O3Attribute::O3Attribute(), O3RawCPT(), and _values_.

Referenced by O3RawCPT(), O3RawCPT(), O3RawCPT(), O3RawCPT(), ~O3RawCPT(), copy(), operator=(), and operator=().

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

◆ O3RawCPT() [2/4]

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

Definition at line 759 of file O3prm.cpp.

763 GUM_CONSTRUCTOR(O3RawCPT);
764 auto copy = new O3FormulaList(values);
765 _values_ = std::unique_ptr< O3FormulaList >(copy);
766 }
virtual O3Label & type()
Definition O3prm.cpp:743
virtual O3Label & name()
Definition O3prm.cpp:747
virtual O3LabelList & parents()
Definition O3prm.cpp:751
virtual O3FormulaList & values()
Definition O3prm.cpp:798
std::unique_ptr< O3Attribute > copy() const override
Definition O3prm.cpp:802

References gum::prm::o3prm::O3Attribute::O3Attribute(), O3RawCPT(), _values_, copy(), gum::prm::o3prm::O3Attribute::name(), gum::prm::o3prm::O3Attribute::parents(), gum::prm::o3prm::O3Attribute::type(), and values().

Here is the call graph for this function:

◆ O3RawCPT() [3/4]

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

Definition at line 768 of file O3prm.cpp.

768 : O3Attribute(src) {
769 GUM_CONS_CPY(O3RawCPT);
770 auto copy = new O3FormulaList(*(src._values_));
771 _values_ = std::unique_ptr< O3FormulaList >(copy);
772 }

References gum::prm::o3prm::O3Attribute::O3Attribute(), O3RawCPT(), _values_, and copy().

Here is the call graph for this function:

◆ O3RawCPT() [4/4]

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

Definition at line 774 of file O3prm.cpp.

774 : O3Attribute(src), _values_(std::move(src._values_)) {
775 GUM_CONS_MOV(O3RawCPT);
776 }

References gum::prm::o3prm::O3Attribute::O3Attribute(), O3RawCPT(), and _values_.

Here is the call graph for this function:

◆ ~O3RawCPT()

gum::prm::o3prm::O3RawCPT::~O3RawCPT ( )
override

Definition at line 778 of file O3prm.cpp.

778 {
779 GUM_DESTRUCTOR(O3RawCPT);
780 ;
781 }

References O3RawCPT().

Here is the call graph for this function:

Member Function Documentation

◆ copy()

std::unique_ptr< O3Attribute > gum::prm::o3prm::O3RawCPT::copy ( ) const
overridevirtual

Implements gum::prm::o3prm::O3Attribute.

Definition at line 802 of file O3prm.cpp.

802 {
803 auto copy = new O3RawCPT(*this);
804 return std::unique_ptr< O3Attribute >(copy);
805 }

References O3RawCPT(), and copy().

Referenced by O3RawCPT(), O3RawCPT(), copy(), and operator=().

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

◆ name() [1/2]

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

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
virtualinherited

Definition at line 749 of file O3prm.cpp.

749{ return _name_; }

References _name_.

◆ operator=() [1/4]

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

Reimplemented from gum::prm::o3prm::O3Attribute.

Definition at line 498 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 }

◆ operator=() [2/4]

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

Definition at line 783 of file O3prm.cpp.

783 {
784 if (this == &src) { return *this; }
786 auto copy = new O3FormulaList(*(src._values_));
787 _values_ = std::unique_ptr< O3FormulaList >(copy);
788 return *this;
789 }
virtual O3Attribute & operator=(const O3Attribute &src)
Definition O3prm.cpp:727

References O3RawCPT(), _values_, copy(), and gum::prm::o3prm::O3Attribute::operator=().

Here is the call graph for this function:

◆ operator=() [3/4]

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

Reimplemented from gum::prm::o3prm::O3Attribute.

Definition at line 499 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 }

◆ operator=() [4/4]

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

Definition at line 791 of file O3prm.cpp.

791 {
792 if (this == &src) { return *this; }
794 _values_ = std::move(src._values_);
795 return *this;
796 }

References O3RawCPT(), _values_, and gum::prm::o3prm::O3Attribute::operator=().

Here is the call graph for this function:

◆ parents() [1/2]

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

◆ parents() [2/2]

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

Definition at line 753 of file O3prm.cpp.

753{ return _parents_; }

References _parents_.

◆ type() [1/2]

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

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
virtualinherited

Definition at line 745 of file O3prm.cpp.

745{ return _type_; }

References _type_.

◆ values() [1/2]

O3RawCPT::O3FormulaList & gum::prm::o3prm::O3RawCPT::values ( )
virtual

Definition at line 798 of file O3prm.cpp.

798{ return *_values_; }

References _values_.

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

Here is the caller graph for this function:

◆ values() [2/2]

const O3RawCPT::O3FormulaList & gum::prm::o3prm::O3RawCPT::values ( ) const
virtual

Definition at line 800 of file O3prm.cpp.

800{ return *_values_; }

References _values_.

Member Data Documentation

◆ _name_

O3Label gum::prm::o3prm::O3Attribute::_name_
privateinherited

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_
privateinherited

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_
privateinherited

Definition at line 513 of file O3prm.h.

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

◆ _values_

std::unique_ptr< O3FormulaList > gum::prm::o3prm::O3RawCPT::_values_
private

Definition at line 551 of file O3prm.h.

Referenced by O3RawCPT(), O3RawCPT(), O3RawCPT(), O3RawCPT(), operator=(), operator=(), values(), and values().


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