30 #ifndef GUM_PRM_OBJECT_H 31 #define GUM_PRM_OBJECT_H 97 default:
return "unknown";
152 const std::string&
name()
const;
158 void name(
const std::string& name);
210 template <
typename GUM_SCALAR >
212 template <
typename GUM_SCALAR >
214 template <
typename GUM_SCALAR >
216 template <
typename GUM_SCALAR >
218 template <
typename GUM_SCALAR >
220 template <
typename GUM_SCALAR >
222 template <
typename GUM_SCALAR >
224 template <
typename GUM_SCALAR >
226 template <
typename GUM_SCALAR >
228 template <
typename GUM_SCALAR >
234 #ifndef GUM_NO_INLINE 236 #endif // GUM_NO_INLINE PRMObject & operator=(const PRMObject &source)
Copy operator.
std::ostream & operator<<(std::ostream &out, PRMObject::prm_type obj_type)
For printing PRMType easily.
static INLINE bool isInterface(const PRMObject &obj)
Returns true if obj_ptr is of type PRMInterface.
bool operator!=(const PRMObject &obj) const
To PRMObject are equal if they have the same name (which is unique).
static INLINE bool isClass(const PRMObject &obj)
Returns true if obj_ptr is of type Class.
const std::string & name() const
Returns the name of this object.
An PRMInstance is a Bayesian Network fragment defined by a Class and used in a PRMSystem.
static std::string enum2str(prm_type type)
Returns the string representation of a PRMObject.
virtual prm_type obj_type() const =0
Returns the type of this object.
virtual ~PRMObject()
Destructor.
Abstract class representing an element of PRM class.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
bool operator==(const PRMObject &obj) const
To PRMObject are equal if they have the same name (which is unique).
A PRMReferenceSlot represent a relation between two PRMClassElementContainer.
prm_type
Enumeration of the different types of objects handled by a PRM.
A PRMSystem is a container of PRMInstance and describe a relational skeleton.
This is a decoration of the DiscreteVariable class.
An PRMInterface is implemented by a Class<GUM_SCALAR> and defines a set of PRMReferenceSlot<GUM_SCALA...
A PRMSlotChain represents a sequence of gum::prm::PRMClassElement<GUM_SCALAR> where the n-1 first gum...
Abstract base class for any element defined in a PRM.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
static std::string LEFT_CAST()
Enumeration of the different types of objects handled by a PRM.
<agrum/PRM/classElementContainer.h>
A PRMClass is an object of a PRM representing a fragment of a Bayesian Network which can be instantia...
PRMAttribute is a member of a Class in a PRM.
PRMObject(const std::string &name)
Constructor.
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.