56 template < GUM_Numeric GUM_SCALAR >
61 template < GUM_Numeric GUM_SCALAR >
67 template < GUM_Numeric GUM_SCALAR >
72 template < GUM_Numeric GUM_SCALAR >
77 template < GUM_Numeric GUM_SCALAR >
82 template < GUM_Numeric GUM_SCALAR >
87 template < GUM_Numeric GUM_SCALAR >
92 template < GUM_Numeric GUM_SCALAR >
94 if (
type().isSubTypeOf(t)) {
101 template < GUM_Numeric GUM_SCALAR >
114 default :
return "unknown";
118 template < GUM_Numeric GUM_SCALAR >
123 template < GUM_Numeric GUM_SCALAR >
128 template < GUM_Numeric GUM_SCALAR >
133 template < GUM_Numeric GUM_SCALAR >
138 template < GUM_Numeric GUM_SCALAR >
Headers of gum::PRMClassElement.
Exception : operation not allowed.
~PRMClassElement() override
Destructor of this class.
PRMClassElement(std::string_view name)
Default constructor of a PRMClassElement.
static INLINE bool isAggregate(const PRMClassElement< GUM_SCALAR > &elt)
Return true if obj is of type PRMAggregate.
NodeId _id_
The node's id of this element.
static INLINE bool isReferenceSlot(const PRMClassElement< GUM_SCALAR > &elt)
Returns true if obj_ptr is of type PRMReferenceSlot.
static INLINE bool isParameter(const PRMClassElement< GUM_SCALAR > &elt)
Return true if obj is of type PRMParameter.
virtual std::string cast(const PRMType &t) const
Returns the name of the cast descendant with PRMType t of this PRMClassElement.
static std::string enum2str(ClassElementType type)
Returns true if obj_ptr is of type PRMReferenceSlot.
virtual ClassElementType elt_type() const =0
Return the type of class element this object is.
ClassElementType
Returns true if obj_ptr is of type PRMReferenceSlot.
virtual PRMType & type()=0
Return a reference over the gum::PRMType of this class element.
static INLINE bool isAttribute(const PRMClassElement< GUM_SCALAR > &elt)
Returns true if obj_ptr is of type PRMAttribute.
PRMObject::prm_type obj_type() const override
virtual void setId(NodeId id)
Used to assign the id of this element.
static INLINE bool isSlotChain(const PRMClassElement< GUM_SCALAR > &elt)
Return true if obj is of type PRMSlotChain.
NodeId id() const
Returns the NodeId of this element in it's class DAG.
const std::string & safeName() const
Returns the safe name of this PRMClassElement, if any.
std::string safeName_
The safe name of this PRMClassElement.
PRMObject(std::string_view name)
Constructor.
const std::string & name() const
Returns the name of this object.
prm_type
Enumeration of the different types of objects handled by a PRM.
static std::string RIGHT_CAST()
Enumeration of the different types of objects handled by a PRM.
static std::string LEFT_CAST()
Enumeration of the different types of objects handled by a PRM.
This is a decoration of the DiscreteVariable class.
const std::string & name() const
Returns the name of this object.
#define GUM_ERROR(type, msg)
Size NodeId
Type for node ids.
namespace for all probabilistic relational models entities
gum is the global namespace for all aGrUM entities