49#ifndef GUM_PRM_OBJECT_H
50#define GUM_PRM_OBJECT_H
109 default :
return "unknown";
162 const std::string&
name()
const;
221 template <
typename GUM_SCALAR >
223 template <
typename GUM_SCALAR >
225 template <
typename GUM_SCALAR >
227 template <
typename GUM_SCALAR >
229 template <
typename GUM_SCALAR >
231 template <
typename GUM_SCALAR >
233 template <
typename GUM_SCALAR >
235 template <
typename GUM_SCALAR >
237 template <
typename GUM_SCALAR >
239 template <
typename GUM_SCALAR >
Inline implementation of PRMObject.
PRMAttribute is a member of a Class in a PRM.
<agrum/PRM/classElementContainer.h>
Abstract class representing an element of PRM class.
A PRMClass is an object of a PRM representing a fragment of a Bayesian network which can be instantia...
An PRMInstance is a Bayesian network fragment defined by a Class and used in a PRMSystem.
An PRMInterface is implemented by a Class<GUM_SCALAR> and defines a set of PRMReferenceSlot<GUM_SCALA...
Abstract base class for any element defined in a PRM.
static INLINE bool isInterface(const PRMObject &obj)
Returns true if obj_ptr is of type PRMInterface.
const std::string & name() const
Returns the name of this object.
bool operator==(const PRMObject &obj) const
To PRMObject are equal if they have the same name (which is unique).
static std::string enum2str(prm_type type)
Returns the string representation of a PRMObject.
prm_type
Enumeration of the different types of objects handled by a PRM.
bool operator!=(const PRMObject &obj) const
To PRMObject are equal if they have the same name (which is unique).
PRMObject & operator=(const PRMObject &source)
Copy operator.
PRMObject(const std::string &name)
Constructor.
static INLINE bool isClass(const PRMObject &obj)
Returns true if obj_ptr is of type Class.
virtual ~PRMObject()
Destructor.
virtual prm_type obj_type() const =0
Returns the type of this object.
static std::string LEFT_CAST()
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 INLINE bool isInstance(const PRMObject &obj)
Returns true if obj_ptr is of type PRMInstance.
A PRMReferenceSlot represent a relation between two PRMClassElementContainer.
A PRMSlotChain represents a sequence of gum::prm::PRMClassElement<GUM_SCALAR> where the n-1 first gum...
A PRMSystem is a container of PRMInstance and describe a relational skeleton.
This is a decoration of the DiscreteVariable class.
namespace for all probabilistic relational models entities
std::ostream & operator<<(std::ostream &out, PRMObject::prm_type obj_type)
For printing PRMType easily.
gum is the global namespace for all aGrUM entities