27 #ifndef GUM_REFERENCE_SLOT_H 28 #define GUM_REFERENCE_SLOT_H 57 template <
typename GUM_SCALAR >
58 class PRMReferenceSlot :
public PRMClassElement< GUM_SCALAR > {
73 PRMClassElementContainer< GUM_SCALAR >&
type,
97 PRMClassElementContainer< GUM_SCALAR >&
slotType();
103 const PRMClassElementContainer< GUM_SCALAR >&
slotType()
const;
111 virtual void addParent(
const PRMClassElement< GUM_SCALAR >& elt);
114 virtual void addChild(
const PRMClassElement< GUM_SCALAR >& elt);
124 virtual PRMType&
type();
128 virtual const PRMType&
type()
const;
132 virtual Potential< GUM_SCALAR >&
cpf();
136 virtual const Potential< GUM_SCALAR >&
cpf()
const;
171 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS bool isArray() const
Returns true if this reference slot is an array.
virtual ~PRMReferenceSlot()
Destructor.
virtual Potential< GUM_SCALAR > & cpf()
Raise an OperationNotAllowed. See gum::PRMClassElement::cpf().
const std::string & name() const
Returns the name of this object.
PRMReferenceSlot & operator=(const PRMReferenceSlot< GUM_SCALAR > &from)
Copy operator. Don't use it.
virtual void addParent(const PRMClassElement< GUM_SCALAR > &elt)
See gum::PRMClassElement::addParent().
PRMClassElementContainer< GUM_SCALAR > & __slotType
The type of this PRMReferenceSlot.
gum is the global namespace for all aGrUM entities
PRMClassElementContainer< GUM_SCALAR > & slotType()
Returns the type of this slot, which is a PRMClassElementContainer (it is not the type of PRMObject)...
virtual PRMClassElement< GUM_SCALAR >::ClassElementType elt_type() const
Implementation of the pure virtual method of PRMObject.
PRMReferenceSlot(const std::string &name, PRMClassElementContainer< GUM_SCALAR > &type, bool isArray=false)
Default constructor.
virtual void addChild(const PRMClassElement< GUM_SCALAR > &elt)
See gum::PRMClassElement::addChild().
bool __isArray
Flag indicating if this slot is an array.
Headers of gum::PRMClassElement.
<agrum/PRM/classElementContainer.h>
virtual PRMAttribute< GUM_SCALAR > * getCastDescendant() const
Raise an OperationNotAllowed. See gum::PRMClassElement::getCastDescendant().
Inline implementation of gum::PRMReferenceSlot.
Headers of gum::prm::PRMClassElementContainer.
ClassElementType
Returns true if obj_ptr is of type PRMReferenceSlot.
virtual PRMType & type()
Raise an OperationNotAllowed. See gum::PRMClassElement::type().