aGrUM  0.20.3
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:
+ Collaboration diagram for gum::prm::o3prm::O3RawCPT:

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 ()
 
virtual O3RawCPToperator= (const O3RawCPT &src)
 
virtual O3RawCPToperator= (O3RawCPT &&src)
 
virtual O3FormulaListvalues ()
 
virtual const O3FormulaListvalues () const
 
virtual std::unique_ptr< O3Attributecopy () const
 
virtual O3Labeltype ()
 
virtual const O3Labeltype () const
 
virtual O3Labelname ()
 
virtual const O3Labelname () const
 
virtual O3LabelListparents ()
 
virtual const O3LabelListparents () const
 

Public Types

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

Detailed Description

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

Definition at line 508 of file O3prm.h.

Member Typedef Documentation

◆ O3FormulaList

Definition at line 510 of file O3prm.h.

◆ O3LabelList

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

Definition at line 473 of file O3prm.h.

Constructor & Destructor Documentation

◆ O3RawCPT() [1/4]

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

Definition at line 699 of file O3prm.cpp.

699  : O3Attribute(), _values_{new O3FormulaList{}} {
700  GUM_CONSTRUCTOR(O3RawCPT);
701  }
std::vector< O3Formula > O3FormulaList
Definition: O3prm.h:510
std::unique_ptr< O3FormulaList > _values_
Definition: O3prm.h:530

◆ O3RawCPT() [2/4]

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

Definition at line 703 of file O3prm.cpp.

706  :
708  GUM_CONSTRUCTOR(O3RawCPT);
709  auto copy = new O3FormulaList(values);
710  _values_ = std::unique_ptr< O3FormulaList >(copy);
711  }
virtual O3LabelList & parents()
Definition: O3prm.cpp:696
virtual O3FormulaList & values()
Definition: O3prm.cpp:743
virtual std::unique_ptr< O3Attribute > copy() const
Definition: O3prm.cpp:747
std::vector< O3Formula > O3FormulaList
Definition: O3prm.h:510
virtual O3Label & type()
Definition: O3prm.cpp:690
std::unique_ptr< O3FormulaList > _values_
Definition: O3prm.h:530
virtual O3Label & name()
Definition: O3prm.cpp:693

◆ O3RawCPT() [3/4]

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

Definition at line 713 of file O3prm.cpp.

713  : O3Attribute(src) {
714  GUM_CONS_CPY(O3RawCPT);
715  auto copy = new O3FormulaList(*(src._values_));
716  _values_ = std::unique_ptr< O3FormulaList >(copy);
717  }
virtual std::unique_ptr< O3Attribute > copy() const
Definition: O3prm.cpp:747
std::vector< O3Formula > O3FormulaList
Definition: O3prm.h:510
std::unique_ptr< O3FormulaList > _values_
Definition: O3prm.h:530

◆ O3RawCPT() [4/4]

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

Definition at line 719 of file O3prm.cpp.

719  : O3Attribute(src), _values_(std::move(src._values_)) {
720  GUM_CONS_MOV(O3RawCPT);
721  }
std::unique_ptr< O3FormulaList > _values_
Definition: O3prm.h:530

◆ ~O3RawCPT()

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

Definition at line 723 of file O3prm.cpp.

723  {
724  GUM_DESTRUCTOR(O3RawCPT);
725  ;
726  }

Member Function Documentation

◆ copy()

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

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

Definition at line 747 of file O3prm.cpp.

747  {
748  auto copy = new O3RawCPT(*this);
749  return std::unique_ptr< O3Attribute >(copy);
750  }
virtual std::unique_ptr< O3Attribute > copy() const
Definition: O3prm.cpp:747

◆ name() [1/2]

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

Definition at line 693 of file O3prm.cpp.

693 { return _name_; }

◆ name() [2/2]

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

Definition at line 694 of file O3prm.cpp.

694 { return _name_; }

◆ operator=() [1/2]

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

Definition at line 728 of file O3prm.cpp.

728  {
729  if (this == &src) { return *this; }
731  auto copy = new O3FormulaList(*(src._values_));
732  _values_ = std::unique_ptr< O3FormulaList >(copy);
733  return *this;
734  }
virtual std::unique_ptr< O3Attribute > copy() const
Definition: O3prm.cpp:747
virtual O3Attribute & operator=(const O3Attribute &src)
Definition: O3prm.cpp:674
std::vector< O3Formula > O3FormulaList
Definition: O3prm.h:510
std::unique_ptr< O3FormulaList > _values_
Definition: O3prm.h:530

◆ operator=() [2/2]

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

Definition at line 736 of file O3prm.cpp.

736  {
737  if (this == &src) { return *this; }
739  _values_ = std::move(src._values_);
740  return *this;
741  }
virtual O3Attribute & operator=(const O3Attribute &src)
Definition: O3prm.cpp:674
std::unique_ptr< O3FormulaList > _values_
Definition: O3prm.h:530

◆ parents() [1/2]

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

Definition at line 696 of file O3prm.cpp.

696 { return _parents_; }

◆ parents() [2/2]

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

Definition at line 697 of file O3prm.cpp.

697 { return _parents_; }

◆ type() [1/2]

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

Definition at line 690 of file O3prm.cpp.

690 { return _type_; }

◆ type() [2/2]

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

Definition at line 691 of file O3prm.cpp.

691 { return _type_; }

◆ values() [1/2]

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

Definition at line 743 of file O3prm.cpp.

743 { return *_values_; }
std::unique_ptr< O3FormulaList > _values_
Definition: O3prm.h:530

◆ values() [2/2]

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

Definition at line 745 of file O3prm.cpp.

745 { return *_values_; }
std::unique_ptr< O3FormulaList > _values_
Definition: O3prm.h:530

Member Data Documentation

◆ _values_

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

Definition at line 530 of file O3prm.h.


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