aGrUM  0.20.2
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 514 of file O3prm.h.

Member Typedef Documentation

◆ O3FormulaList

Definition at line 516 of file O3prm.h.

◆ O3LabelList

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

Definition at line 477 of file O3prm.h.

Constructor & Destructor Documentation

◆ O3RawCPT() [1/4]

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

Definition at line 672 of file O3prm.cpp.

672  : O3Attribute(), values__{new O3FormulaList{}} {
673  GUM_CONSTRUCTOR(O3RawCPT);
674  }
std::vector< O3Formula > O3FormulaList
Definition: O3prm.h:516
std::unique_ptr< O3FormulaList > values__
Definition: O3prm.h:536

◆ O3RawCPT() [2/4]

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

Definition at line 676 of file O3prm.cpp.

679  :
681  GUM_CONSTRUCTOR(O3RawCPT);
682  auto copy = new O3FormulaList(values);
683  values__ = std::unique_ptr< O3FormulaList >(copy);
684  }
virtual O3LabelList & parents()
Definition: O3prm.cpp:667
virtual O3FormulaList & values()
Definition: O3prm.cpp:714
virtual std::unique_ptr< O3Attribute > copy() const
Definition: O3prm.cpp:718
std::vector< O3Formula > O3FormulaList
Definition: O3prm.h:516
virtual O3Label & type()
Definition: O3prm.cpp:661
std::unique_ptr< O3FormulaList > values__
Definition: O3prm.h:536
virtual O3Label & name()
Definition: O3prm.cpp:664

◆ O3RawCPT() [3/4]

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

Definition at line 686 of file O3prm.cpp.

686  : O3Attribute(src) {
687  GUM_CONS_CPY(O3RawCPT);
688  auto copy = new O3FormulaList(*(src.values__));
689  values__ = std::unique_ptr< O3FormulaList >(copy);
690  }
virtual std::unique_ptr< O3Attribute > copy() const
Definition: O3prm.cpp:718
std::vector< O3Formula > O3FormulaList
Definition: O3prm.h:516
std::unique_ptr< O3FormulaList > values__
Definition: O3prm.h:536

◆ O3RawCPT() [4/4]

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

Definition at line 692 of file O3prm.cpp.

692  :
693  O3Attribute(src), values__(std::move(src.values__)) {
694  GUM_CONS_MOV(O3RawCPT);
695  }
std::unique_ptr< O3FormulaList > values__
Definition: O3prm.h:536

◆ ~O3RawCPT()

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

Definition at line 697 of file O3prm.cpp.

697 { GUM_DESTRUCTOR(O3RawCPT); }

Member Function Documentation

◆ copy()

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

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

Definition at line 718 of file O3prm.cpp.

718  {
719  auto copy = new O3RawCPT(*this);
720  return std::unique_ptr< O3Attribute >(copy);
721  }
virtual std::unique_ptr< O3Attribute > copy() const
Definition: O3prm.cpp:718

◆ name() [1/2]

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

Definition at line 664 of file O3prm.cpp.

664 { return name__; }

◆ name() [2/2]

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

Definition at line 665 of file O3prm.cpp.

665 { return name__; }

◆ operator=() [1/2]

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

Definition at line 699 of file O3prm.cpp.

699  {
700  if (this == &src) { return *this; }
702  auto copy = new O3FormulaList(*(src.values__));
703  values__ = std::unique_ptr< O3FormulaList >(copy);
704  return *this;
705  }
virtual std::unique_ptr< O3Attribute > copy() const
Definition: O3prm.cpp:718
virtual O3Attribute & operator=(const O3Attribute &src)
Definition: O3prm.cpp:645
std::vector< O3Formula > O3FormulaList
Definition: O3prm.h:516
std::unique_ptr< O3FormulaList > values__
Definition: O3prm.h:536

◆ operator=() [2/2]

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

Definition at line 707 of file O3prm.cpp.

707  {
708  if (this == &src) { return *this; }
710  values__ = std::move(src.values__);
711  return *this;
712  }
virtual O3Attribute & operator=(const O3Attribute &src)
Definition: O3prm.cpp:645
std::unique_ptr< O3FormulaList > values__
Definition: O3prm.h:536

◆ parents() [1/2]

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

Definition at line 667 of file O3prm.cpp.

667 { return parents__; }

◆ parents() [2/2]

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

Definition at line 668 of file O3prm.cpp.

668  {
669  return parents__;
670  }

◆ type() [1/2]

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

Definition at line 661 of file O3prm.cpp.

661 { return type__; }

◆ type() [2/2]

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

Definition at line 662 of file O3prm.cpp.

662 { return type__; }

◆ values() [1/2]

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

Definition at line 714 of file O3prm.cpp.

714 { return *values__; }
std::unique_ptr< O3FormulaList > values__
Definition: O3prm.h:536

◆ values() [2/2]

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

Definition at line 716 of file O3prm.cpp.

716 { return *values__; }
std::unique_ptr< O3FormulaList > values__
Definition: O3prm.h:536

Member Data Documentation

◆ values__

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

Definition at line 536 of file O3prm.h.


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