49#ifndef GUM_REFERENCE_SLOT_H
50#define GUM_REFERENCE_SLOT_H
79 template < GUM_Numeric GUM_SCALAR >
153 virtual Tensor< GUM_SCALAR >&
cpf();
157 const Tensor< GUM_SCALAR >&
cpf()
const override;
193#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
Headers of gum::prm::PRMClassElementContainer.
Headers of gum::PRMClassElement.
Inline implementation of gum::PRMReferenceSlot.
PRMAttribute is a member of a Class in a PRM.
<agrum/PRM/classElementContainer.h>
PRMClassElement(std::string_view name)
Default constructor of a PRMClassElement.
ClassElementType
Returns true if obj_ptr is of type PRMReferenceSlot.
const std::string & name() const
Returns the name of this object.
A PRMReferenceSlot represent a relation between two PRMClassElementContainer.
PRMReferenceSlot & operator=(const PRMReferenceSlot< GUM_SCALAR > &from)
Copy operator. Don't use it.
PRMAttribute< GUM_SCALAR > * getCastDescendant() const override
Raise an OperationNotAllowed. See gum::PRMClassElement::getCastDescendant().
bool _isArray_
Flag indicating if this slot is an array.
virtual Tensor< GUM_SCALAR > & cpf()
Raise an OperationNotAllowed. See gum::PRMClassElement::cpf().
PRMType & type() override
Raise an OperationNotAllowed. See gum::PRMClassElement::type().
PRMClassElement< GUM_SCALAR >::ClassElementType elt_type() const override
Implementation of the pure virtual method of PRMObject.
PRMClassElementContainer< GUM_SCALAR > & _slotType_
The type of this PRMReferenceSlot.
void addParent(const PRMClassElement< GUM_SCALAR > &elt) override
See gum::PRMClassElement::addParent().
bool isArray() const
Returns true if this reference slot is an array.
PRMClassElementContainer< GUM_SCALAR > & slotType()
Returns the type of this slot, which is a PRMClassElementContainer (it is not the type of PRMObject).
PRMReferenceSlot(std::string_view name, PRMClassElementContainer< GUM_SCALAR > &type, bool isArray=false)
Default constructor.
void addChild(const PRMClassElement< GUM_SCALAR > &elt) override
See gum::PRMClassElement::addChild().
~PRMReferenceSlot() override
Destructor.
This is a decoration of the DiscreteVariable class.
namespace for all probabilistic relational models entities
gum is the global namespace for all aGrUM entities