aGrUM  0.13.2
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

Definition at line 510 of file O3prm.h.

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

Definition at line 471 of file O3prm.h.

Constructor & Destructor Documentation

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

Definition at line 671 of file O3prm.cpp.

Referenced by copy().

671  : O3Attribute(), __values{new O3FormulaList{}} {
672  GUM_CONSTRUCTOR(O3RawCPT);
673  }
std::unique_ptr< O3FormulaList > __values
Definition: O3prm.h:530
std::vector< O3Formula > O3FormulaList
Definition: O3prm.h:510

+ Here is the caller graph for this function:

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

Definition at line 675 of file O3prm.cpp.

References __values, and copy().

678  :
680  GUM_CONSTRUCTOR(O3RawCPT);
681  auto copy = new O3FormulaList(values);
682  __values = std::unique_ptr< O3FormulaList >(copy);
683  }
virtual O3LabelList & parents()
Definition: O3prm.cpp:666
virtual O3FormulaList & values()
Definition: O3prm.cpp:713
std::unique_ptr< O3FormulaList > __values
Definition: O3prm.h:530
std::vector< O3Formula > O3FormulaList
Definition: O3prm.h:510
virtual O3Label & type()
Definition: O3prm.cpp:660
virtual O3Label & name()
Definition: O3prm.cpp:663
virtual std::unique_ptr< O3Attribute > copy() const
Definition: O3prm.cpp:717

+ Here is the call graph for this function:

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

Definition at line 685 of file O3prm.cpp.

References __values, and copy().

685  : O3Attribute(src) {
686  GUM_CONS_CPY(O3RawCPT);
687  auto copy = new O3FormulaList(*(src.__values));
688  __values = std::unique_ptr< O3FormulaList >(copy);
689  }
std::unique_ptr< O3FormulaList > __values
Definition: O3prm.h:530
std::vector< O3Formula > O3FormulaList
Definition: O3prm.h:510
virtual std::unique_ptr< O3Attribute > copy() const
Definition: O3prm.cpp:717

+ Here is the call graph for this function:

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

Definition at line 691 of file O3prm.cpp.

691  :
692  O3Attribute(src), __values(std::move(src.__values)) {
693  GUM_CONS_MOV(O3RawCPT);
694  }
std::unique_ptr< O3FormulaList > __values
Definition: O3prm.h:530
gum::prm::o3prm::O3RawCPT::~O3RawCPT ( )

Definition at line 696 of file O3prm.cpp.

696 { GUM_DESTRUCTOR(O3RawCPT); }

Member Function Documentation

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

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

Definition at line 717 of file O3prm.cpp.

References O3RawCPT().

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 663 of file O3prm.cpp.

References gum::prm::o3prm::O3Attribute::__name.

Referenced by gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkAttributeForDeclaration(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkRawCPT(), and gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkRuleCPTSumsTo1().

663 { return __name; }

+ Here is the caller graph for this function:

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

Definition at line 664 of file O3prm.cpp.

References gum::prm::o3prm::O3Attribute::__name.

664 { return __name; }
O3RawCPT & gum::prm::o3prm::O3RawCPT::operator= ( const O3RawCPT src)
virtual

Definition at line 698 of file O3prm.cpp.

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

698  {
699  if (this == &src) { return *this; }
701  auto copy = new O3FormulaList(*(src.__values));
702  __values = std::unique_ptr< O3FormulaList >(copy);
703  return *this;
704  }
std::unique_ptr< O3FormulaList > __values
Definition: O3prm.h:530
virtual O3Attribute & operator=(const O3Attribute &src)
Definition: O3prm.cpp:644
std::vector< O3Formula > O3FormulaList
Definition: O3prm.h:510
virtual std::unique_ptr< O3Attribute > copy() const
Definition: O3prm.cpp:717

+ Here is the call graph for this function:

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

Definition at line 706 of file O3prm.cpp.

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

706  {
707  if (this == &src) { return *this; }
709  __values = std::move(src.__values);
710  return *this;
711  }
std::unique_ptr< O3FormulaList > __values
Definition: O3prm.h:530
virtual O3Attribute & operator=(const O3Attribute &src)
Definition: O3prm.cpp:644

+ Here is the call graph for this function:

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

Definition at line 666 of file O3prm.cpp.

References gum::prm::o3prm::O3Attribute::__parents.

Referenced by gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkAttributeForCompletion(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkLabelsNumber(), gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkLabelsValues(), and gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkRawCPT().

666 { return __parents; }

+ Here is the caller graph for this function:

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

Definition at line 667 of file O3prm.cpp.

References gum::prm::o3prm::O3Attribute::__parents.

667  {
668  return __parents;
669  }
O3Label & gum::prm::o3prm::O3Attribute::type ( )
virtualinherited

Definition at line 660 of file O3prm.cpp.

References gum::prm::o3prm::O3Attribute::__type.

Referenced by gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkAttributeForDeclaration(), and gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkRawCPT().

660 { return __type; }

+ Here is the caller graph for this function:

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

Definition at line 661 of file O3prm.cpp.

References gum::prm::o3prm::O3Attribute::__type.

661 { return __type; }
O3RawCPT::O3FormulaList & gum::prm::o3prm::O3RawCPT::values ( )
virtual

Definition at line 713 of file O3prm.cpp.

References __values.

Referenced by gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__checkRawCPT().

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

+ Here is the caller graph for this function:

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

Definition at line 715 of file O3prm.cpp.

References __values.

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

Member Data Documentation

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

Definition at line 530 of file O3prm.h.

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


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