![]() |
aGrUM
0.20.3
a C++ library for (probabilistic) graphical models
|
An PRMInterface is implemented by a Class<GUM_SCALAR> and defines a set of PRMReferenceSlot<GUM_SCALAR> and PRMAttribute<GUM_SCALAR> which the implementing Class<GUM_SCALAR> must contain. More...
#include <PRMClass.h>
Public Member Functions | |
Constructor & destructor. | |
PRMInterface (const std::string &name) | |
Default constructor. More... | |
PRMInterface (const std::string &name, PRMInterface< GUM_SCALAR > &super, bool delayInheritance=false) | |
Constructor for building a subclass of super. More... | |
PRMInterface (const PRMInterface< GUM_SCALAR > &source) | |
Copy constructor. More... | |
virtual | ~PRMInterface () |
Destructor. More... | |
Graphical model getters and setters | |
virtual PRMObject::prm_type | obj_type () const |
Implementation of pure virtual method of PRMObject. More... | |
virtual PRMClassElement< GUM_SCALAR > & | get (NodeId id) |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::get(NodeId). More... | |
virtual const PRMClassElement< GUM_SCALAR > & | get (NodeId id) const |
Se gum::prm::PRMClassElementContainer<GUM_SCALAR>::get(NodeId). More... | |
void | addArc (const std::string &tail, const std::string &head) |
An Interfance doesn't have any arc, this will raise an OperationNotAllowed exception. More... | |
PRMClassElement<GUM_SCALAR> getters and setters | |
virtual bool | isOutputNode (const PRMClassElement< GUM_SCALAR > &elt) const |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::get(const std::string&). More... | |
virtual PRMClassElement< GUM_SCALAR > & | get (const std::string &name) |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::get(const std::string&). More... | |
virtual const PRMClassElement< GUM_SCALAR > & | get (const std::string &name) const |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::get(const std::string&). More... | |
const Set< PRMAttribute< GUM_SCALAR > *> & | attributes () const |
Returns the set of PRMAttribute<GUM_SCALAR> of this Class<GUM_SCALAR>. More... | |
const Set< PRMReferenceSlot< GUM_SCALAR > *> & | referenceSlots () const |
Returns the set of PRMAggregate of this Class<GUM_SCALAR>. More... | |
NodeId | add (PRMClassElement< GUM_SCALAR > *elt) |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::add(PRMClassElement<GUM_SCALAR>*). More... | |
NodeId | overload (PRMClassElement< GUM_SCALAR > *elt) |
Add a new PRMClassElement<GUM_SCALAR> which overload an inherited PRMClassElement<GUM_SCALAR>. More... | |
Inheritance methods | |
virtual bool | isSubTypeOf (const PRMClassElementContainer< GUM_SCALAR > &cec) const |
Test if this PRMInterface is a sub PRMInterface of cec. More... | |
PRMInterface< GUM_SCALAR > & | super () |
Returns the superInterface of this PRMInterface. More... | |
const PRMInterface< GUM_SCALAR > & | super () const |
Returns the superInterface of this PRMInterface. More... | |
Set< PRMClass< GUM_SCALAR > *> & | implementations () |
Returns the set of Class<GUM_SCALAR> implementing this PRMInterface. More... | |
const Set< PRMClass< GUM_SCALAR > *> & | implementations () const |
Returns the set of Class<GUM_SCALAR> implementing this PRMInterface. More... | |
void | inheritInterface () |
Inherits from this interface super interface, this should only be done when this inteface inheritance was delayed. More... | |
Getters & setters operators | |
PRMClassElement< GUM_SCALAR > & | operator[] (NodeId id) |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::operator[](NodeId). More... | |
const PRMClassElement< GUM_SCALAR > & | operator[] (NodeId id) const |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::operator[](NodeId). More... | |
PRMClassElement< GUM_SCALAR > & | operator[] (const std::string &name) |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::operator[](const std::string&). More... | |
const PRMClassElement< GUM_SCALAR > & | operator[] (const std::string &name) const |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::operator[](const std::string&). More... | |
Getters on the gum::PRMClassElement<GUM_SCALAR>. | |
virtual bool | belongsTo (const PRMClassElement< GUM_SCALAR > &elt) const |
Returns true if elt belongs to this PRMClassElementContainer. More... | |
virtual bool | exists (const std::string &name) const |
Returns true if a member with the given name exists in this PRMClassElementContainer or in the PRMClassElementContainer hierarchy. More... | |
virtual bool | isInputNode (const PRMClassElement< GUM_SCALAR > &elt) const |
Returns true if the node is an input node. More... | |
virtual void | setInputNode (const PRMClassElement< GUM_SCALAR > &elt, bool b) |
Set the input flag value of id at b. More... | |
virtual void | setOutputNode (const PRMClassElement< GUM_SCALAR > &elt, bool b) |
Set the output flag value of id at b. More... | |
virtual bool | isInnerNode (const PRMClassElement< GUM_SCALAR > &elt) const |
Returns true if the node is an inner node. More... | |
Graphical operator | |
virtual bool | exists (NodeId id) const |
Returns true if a member with the given id exists in this PRMClassElementContainer or in the PRMClassElementContainer hierarchy. More... | |
virtual const DAG & | containerDag () const |
Returns the gum::DAG of this PRMClassElementContainer. More... | |
Inheritance getters and setters | |
virtual bool | isSuperTypeOf (const PRMClassElementContainer< GUM_SCALAR > &cec) const |
Test if this PRMClassElementContainer is a super type of cec. More... | |
Getters & setters. | |
const std::string & | name () const |
Returns the name of this object. More... | |
void | name (const std::string &name) |
Change the name of the PRM Object. More... | |
Operators | |
bool | operator== (const PRMObject &obj) const |
To PRMObject are equal if they have the same name (which is unique). More... | |
bool | operator!= (const PRMObject &obj) const |
To PRMObject are equal if they have the same name (which is unique). More... | |
Protected Member Functions | |
const DAG & | dag_ () const |
Returns a constant reference over this PRMInterface's DAG. More... | |
DAG & | dag_ () |
Returns a non constant reference over this PRMInterface's DAG. More... | |
void | findAllSubtypes_ (Set< PRMClassElementContainer< GUM_SCALAR > * > &set) |
Fills set with all the subtypes of this PRMInterface, this includes extensions and implementations. More... | |
void | updateDescendants_ (const PRMClassElement< GUM_SCALAR > &elt) |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>(const PRMClassElement<GUM_SCALAR>&). More... | |
virtual std::pair< bool, bool > & | getIOFlag_ (const PRMClassElement< GUM_SCALAR > &elt) |
Returns the IO flags of a PRMClassElement<GUM_SCALAR>. More... | |
virtual const std::pair< bool, bool > & | getIOFlag_ (const PRMClassElement< GUM_SCALAR > &elt) const |
Returns the IO flags of a PRMClassElement<GUM_SCALAR>. More... | |
virtual void | setIOFlag_ (const PRMClassElement< GUM_SCALAR > &elt, const std::pair< bool, bool > &flags) |
Defines the IO flags of a PRMClassElement<GUM_SCALAR>. More... | |
virtual void | copyIOFlags_ (const PRMClassElementContainer< GUM_SCALAR > &c) |
Copy the IO Flags of c in this PRMClassElementContainer. More... | |
Friends | |
class | PRMClass< GUM_SCALAR > |
Iterators | |
typedef NodeProperty< PRMClassElement< GUM_SCALAR > *>::iterator | ClassEltIterator |
typedef NodeProperty< PRMClassElement< GUM_SCALAR > *>::const_iterator | const_ClassEltIterator |
ClassEltIterator | begin () |
const ClassEltIterator & | end () |
const_ClassEltIterator | begin () const |
const const_ClassEltIterator & | end () const |
Inheritance members | |
PRMInterface< GUM_SCALAR > * | _superInterface_ |
The alternate PRMClassElementContainer<GUM_SCALAR> searched for elements defined in this. Note that this is first searched for gum::PRMClassElement<GUM_SCALAR>. More... | |
Set< PRMClass< GUM_SCALAR > *> | _implementations_ |
The set of Class<GUM_SCALAR> which implements this PRMInterface. More... | |
Set< PRMInterface< GUM_SCALAR > *> | _extensions_ |
The set of Class<GUM_SCALAR> which implements this PRMInterface. More... | |
void | _addImplementation_ (PRMClass< GUM_SCALAR > *c) |
Add an Class<GUM_SCALAR> to the set of Class<GUM_SCALAR> which implements this PRMInterface. More... | |
void | _addExtension_ (PRMInterface< GUM_SCALAR > *c) |
Add an Class<GUM_SCALAR> to the set of Class<GUM_SCALAR> which implements this PRMInterface. More... | |
bool | _checkOverloadLegality_ (const PRMClassElement< GUM_SCALAR > *overloaded, const PRMClassElement< GUM_SCALAR > *overloader) |
The alternate PRMClassElementContainer<GUM_SCALAR> searched for elements defined in this. Note that this is first searched for gum::PRMClassElement<GUM_SCALAR>. More... | |
void | _overloadAttribute_ (PRMAttribute< GUM_SCALAR > *overloader, PRMAttribute< GUM_SCALAR > *overloaded) |
The alternate PRMClassElementContainer<GUM_SCALAR> searched for elements defined in this. Note that this is first searched for gum::PRMClassElement<GUM_SCALAR>. More... | |
void | _overloadReferenceSlot_ (PRMReferenceSlot< GUM_SCALAR > *overloader, PRMReferenceSlot< GUM_SCALAR > *overloaded) |
The alternate PRMClassElementContainer<GUM_SCALAR> searched for elements defined in this. Note that this is first searched for gum::PRMClassElement<GUM_SCALAR>. More... | |
void | _addCastDescendants_ (PRMAttribute< GUM_SCALAR > *start, PRMAttribute< GUM_SCALAR > *end) |
The alternate PRMClassElementContainer<GUM_SCALAR> searched for elements defined in this. Note that this is first searched for gum::PRMClassElement<GUM_SCALAR>. More... | |
Built-in types. | |
enum | prm_type : char { prm_type::ALL, prm_type::CLASS, prm_type::PRM_INTERFACE, prm_type::CLASS_ELT, prm_type::TYPE, prm_type::SYSTEM, prm_type::INSTANCE } |
Enumeration of the different types of objects handled by a PRM. More... | |
static std::string | LEFT_CAST () |
Enumeration of the different types of objects handled by a PRM. More... | |
static std::string | RIGHT_CAST () |
Enumeration of the different types of objects handled by a PRM. More... | |
static std::string | enum2str (prm_type type) |
Returns the string representation of a PRMObject. More... | |
static INLINE bool | isClass (const PRMObject &obj) |
Returns true if obj_ptr is of type Class. More... | |
static INLINE bool | isInterface (const PRMObject &obj) |
Returns true if obj_ptr is of type PRMInterface. More... | |
static INLINE bool | isInstance (const PRMObject &obj) |
Returns true if obj_ptr is of type PRMInstance. More... | |
An PRMInterface is implemented by a Class<GUM_SCALAR> and defines a set of PRMReferenceSlot<GUM_SCALAR> and PRMAttribute<GUM_SCALAR> which the implementing Class<GUM_SCALAR> must contain.
Definition at line 53 of file PRMClass.h.
typedef NodeProperty< PRMClassElement< GUM_SCALAR >* >::iterator gum::prm::PRMInterface< GUM_SCALAR >::ClassEltIterator |
Definition at line 280 of file PRMInterface.h.
typedef NodeProperty< PRMClassElement< GUM_SCALAR >* >::const_iterator gum::prm::PRMInterface< GUM_SCALAR >::const_ClassEltIterator |
Definition at line 285 of file PRMInterface.h.
|
stronginherited |
Enumeration of the different types of objects handled by a PRM.
The "all" type is used to tell that we want any kind of PRMType (useful with iterators for example). No PRMObject will ever have "all" as type.
Enumerator | |
---|---|
ALL | |
CLASS | |
PRM_INTERFACE | |
CLASS_ELT | |
TYPE | |
SYSTEM | |
INSTANCE |
Definition at line 68 of file PRMObject.h.
|
explicit |
Default constructor.
name | The interface name. |
Definition at line 36 of file PRMInterface_tpl.h.
gum::prm::PRMInterface< GUM_SCALAR >::PRMInterface | ( | const std::string & | name, |
PRMInterface< GUM_SCALAR > & | super, | ||
bool | delayInheritance = false |
||
) |
Constructor for building a subclass of super.
name | The sub-interface name. |
super | The super PRMInterface of this. |
delayInheritance | If true, inheritance will be delayed. |
Definition at line 42 of file PRMInterface_tpl.h.
gum::prm::PRMInterface< GUM_SCALAR >::PRMInterface | ( | const PRMInterface< GUM_SCALAR > & | source | ) |
Copy constructor.
Definition at line 52 of file PRMInterface_tpl.h.
|
virtual |
Destructor.
Definition at line 60 of file PRMInterface_tpl.h.
|
private |
The alternate PRMClassElementContainer<GUM_SCALAR> searched for elements defined in this. Note that this is first searched for gum::PRMClassElement<GUM_SCALAR>.
Definition at line 232 of file PRMInterface_tpl.h.
|
private |
Add an Class<GUM_SCALAR> to the set of Class<GUM_SCALAR> which implements this PRMInterface.
Definition at line 363 of file PRMInterface_tpl.h.
|
private |
Add an Class<GUM_SCALAR> to the set of Class<GUM_SCALAR> which implements this PRMInterface.
Definition at line 358 of file PRMInterface_tpl.h.
|
private |
The alternate PRMClassElementContainer<GUM_SCALAR> searched for elements defined in this. Note that this is first searched for gum::PRMClassElement<GUM_SCALAR>.
Definition at line 254 of file PRMInterface_tpl.h.
|
private |
Proceed with the copy of i in this.
Definition at line 74 of file PRMInterface_tpl.h.
|
private |
The alternate PRMClassElementContainer<GUM_SCALAR> searched for elements defined in this. Note that this is first searched for gum::PRMClassElement<GUM_SCALAR>.
Definition at line 190 of file PRMInterface_tpl.h.
|
private |
The alternate PRMClassElementContainer<GUM_SCALAR> searched for elements defined in this. Note that this is first searched for gum::PRMClassElement<GUM_SCALAR>.
Definition at line 216 of file PRMInterface_tpl.h.
|
virtual |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::add(PRMClassElement<GUM_SCALAR>*).
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 109 of file PRMInterface_tpl.h.
|
virtual |
An Interfance doesn't have any arc, this will raise an OperationNotAllowed exception.
tail | The tail of the added arc. |
head | The head of the added arc. |
OperationNotAllowed | Systematically throws an OperationNotAllowed. |
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 336 of file PRMInterface_tpl.h.
INLINE const Set< PRMAttribute< GUM_SCALAR > *> & gum::prm::PRMInterface< GUM_SCALAR >::attributes | ( | ) | const |
Returns the set of PRMAttribute<GUM_SCALAR> of this Class<GUM_SCALAR>.
Definition at line 440 of file PRMInterface_tpl.h.
INLINE PRMInterface< GUM_SCALAR >::ClassEltIterator gum::prm::PRMInterface< GUM_SCALAR >::begin | ( | ) |
Definition at line 313 of file PRMInterface_tpl.h.
INLINE PRMInterface< GUM_SCALAR >::const_ClassEltIterator gum::prm::PRMInterface< GUM_SCALAR >::begin | ( | ) | const |
Definition at line 325 of file PRMInterface_tpl.h.
|
virtualinherited |
Returns true if elt belongs to this PRMClassElementContainer.
elt | A PRMClassElement<GUM_SCALAR>. |
Definition at line 170 of file PRMClassElementContainer_tpl.h.
|
virtualinherited |
Returns the gum::DAG of this PRMClassElementContainer.
Be very careful when using NodeId with PRMClassElement<GUM_SCALAR>: there is no guarantee that an inherited PRMClassElement<GUM_SCALAR> will have the same NodeId than its superclass counterpart.
When dealing with different classes and interfaces ALWAYS use safe-name as identifier.
Definition at line 178 of file PRMClassElementContainer_tpl.h.
|
protectedvirtualinherited |
Copy the IO Flags of c in this PRMClassElementContainer.
c | A PRMClassElementContainer. |
Definition at line 36 of file PRMClassElementContainer_tpl.h.
|
protectedvirtual |
Returns a constant reference over this PRMInterface's DAG.
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 396 of file PRMInterface_tpl.h.
|
protectedvirtual |
Returns a non constant reference over this PRMInterface's DAG.
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 401 of file PRMInterface_tpl.h.
INLINE const PRMInterface< GUM_SCALAR >::ClassEltIterator & gum::prm::PRMInterface< GUM_SCALAR >::end | ( | ) |
Definition at line 319 of file PRMInterface_tpl.h.
INLINE const PRMInterface< GUM_SCALAR >::const_ClassEltIterator & gum::prm::PRMInterface< GUM_SCALAR >::end | ( | ) | const |
Definition at line 331 of file PRMInterface_tpl.h.
|
inlinestaticinherited |
|
virtualinherited |
Returns true if a member with the given name exists in this PRMClassElementContainer or in the PRMClassElementContainer hierarchy.
Definition at line 162 of file PRMClassElementContainer_tpl.h.
|
virtualinherited |
Returns true if a member with the given id exists in this PRMClassElementContainer or in the PRMClassElementContainer hierarchy.
id | A NodeId. |
Definition at line 157 of file PRMClassElementContainer_tpl.h.
|
protectedvirtual |
Fills set with all the subtypes of this PRMInterface, this includes extensions and implementations.
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 462 of file PRMInterface_tpl.h.
|
virtual |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::get(NodeId).
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 406 of file PRMInterface_tpl.h.
|
virtual |
Se gum::prm::PRMClassElementContainer<GUM_SCALAR>::get(NodeId).
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 415 of file PRMInterface_tpl.h.
|
virtual |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::get(const std::string&).
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 424 of file PRMInterface_tpl.h.
|
virtual |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::get(const std::string&).
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 432 of file PRMInterface_tpl.h.
|
protectedvirtualinherited |
Returns the IO flags of a PRMClassElement<GUM_SCALAR>.
elt | The PRMClassElement<GUM_SCALAR>. |
NotFound | Raised if elt does not have any IO flags. |
Definition at line 128 of file PRMClassElementContainer_tpl.h.
|
protectedvirtualinherited |
Returns the IO flags of a PRMClassElement<GUM_SCALAR>.
elt | The PRMClassElement<GUM_SCALAR>. |
NotFound | Raised if elt does not have any IO flags. |
Definition at line 138 of file PRMClassElementContainer_tpl.h.
INLINE Set< PRMClass< GUM_SCALAR > *> & gum::prm::PRMInterface< GUM_SCALAR >::implementations | ( | ) |
Returns the set of Class<GUM_SCALAR> implementing this PRMInterface.
Definition at line 451 of file PRMInterface_tpl.h.
INLINE const Set< PRMClass< GUM_SCALAR > *> & gum::prm::PRMInterface< GUM_SCALAR >::implementations | ( | ) | const |
Returns the set of Class<GUM_SCALAR> implementing this PRMInterface.
Definition at line 457 of file PRMInterface_tpl.h.
void gum::prm::PRMInterface< GUM_SCALAR >::inheritInterface | ( | ) |
Inherits from this interface super interface, this should only be done when this inteface inheritance was delayed.
Definition at line 69 of file PRMInterface_tpl.h.
Returns true if obj_ptr is of type Class.
Definition at line 109 of file PRMObject.h.
References gum::prm::PRMObject::PRMObject().
|
virtualinherited |
Returns true if the node is an inner node.
PRMAttribute or PRMAggregate can either be input, output, both or internal nodes.
By defaut, attributes and aggregates are inner nodes.
elt | A PRMClassElement<GUM_SCALAR>. |
NotFound | Raised if NodeId does'nt match any PRMClassElement<GUM_SCALAR> in this. |
WrongClassElement | Raised if NodeId is neither an PRMAttribute nor an PRMAggregate. |
Definition at line 114 of file PRMClassElementContainer_tpl.h.
|
virtualinherited |
Returns true if the node is an input node.
PRMAttribute or PRMAggregate can either be input, output, both or internal nodes.
By defaut, attributes and aggregates are inner nodes.
elt | A PRMClassElement<GUM_SCALAR>. |
Definition at line 70 of file PRMClassElementContainer_tpl.h.
Returns true if obj_ptr is of type PRMInstance.
Definition at line 117 of file PRMObject.h.
References gum::prm::PRMObject::PRMObject().
Returns true if obj_ptr is of type PRMInterface.
Definition at line 112 of file PRMObject.h.
References gum::prm::PRMObject::PRMObject().
|
virtual |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::get(const std::string&).
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 477 of file PRMInterface_tpl.h.
|
virtual |
Test if this PRMInterface is a sub PRMInterface of cec.
PRMInterface can not be a sub PRMInterface of a Class<GUM_SCALAR>, so if cec is a Class<GUM_SCALAR> this method will return false.
If cec is an PRMInterface then this PRMInterface is a sub PRMInterface of cec if they are equal or there exists a super PRMInterface of this PRMInterface which is equal to cec.
cec | The PRMClassElementContainer<GUM_SCALAR> for which we determine if this PRMInterface is a sub PRMInterface of it. |
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 272 of file PRMInterface_tpl.h.
|
virtualinherited |
Test if this PRMClassElementContainer is a super type of cec.
This returns cec.isSubTypeOf(*this).
cec |
Definition at line 122 of file PRMClassElementContainer_tpl.h.
|
inlinestaticinherited |
Enumeration of the different types of objects handled by a PRM.
The "all" type is used to tell that we want any kind of PRMType (useful with iterators for example). No PRMObject will ever have "all" as type.
Definition at line 79 of file PRMObject.h.
|
inherited |
Returns the name of this object.
Definition at line 34 of file PRMObject_inl.h.
References gum::prm::ParamScopeData< GUM_SCALAR >::ParamScopeData().
|
inherited |
Change the name of the PRM Object.
Definition at line 38 of file PRMObject_inl.h.
References gum::prm::ParamScopeData< GUM_SCALAR >::ParamScopeData().
|
virtual |
Implementation of pure virtual method of PRMObject.
Implements gum::prm::PRMObject.
Definition at line 391 of file PRMInterface_tpl.h.
To PRMObject are equal if they have the same name (which is unique).
Definition at line 46 of file PRMObject_inl.h.
References gum::prm::ParamScopeData< GUM_SCALAR >::ParamScopeData().
|
private |
Copy operator. Don't use it.
To PRMObject are equal if they have the same name (which is unique).
Definition at line 42 of file PRMObject_inl.h.
References gum::prm::ParamScopeData< GUM_SCALAR >::ParamScopeData().
|
virtual |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::operator[](NodeId).
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 368 of file PRMInterface_tpl.h.
|
virtual |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::operator[](NodeId).
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 374 of file PRMInterface_tpl.h.
|
virtual |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::operator[](const std::string&).
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 380 of file PRMInterface_tpl.h.
|
virtual |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>::operator[](const std::string&).
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 386 of file PRMInterface_tpl.h.
|
virtual |
Add a new PRMClassElement<GUM_SCALAR> which overload an inherited PRMClassElement<GUM_SCALAR>.
The pointer is "given" to this class, which will delete it when ~Class<GUM_SCALAR>() is called.
The NodeId of elt is defined when it is added to this, discarding any previous value. There is no garanty that elt will have the same NodeId than the PRMClassElement<GUM_SCALAR> it overloaded.
You can only overload inherited PRMClassElement<GUM_SCALAR> and only if elt is a subtype of the inherited PRMClassElement<GUM_SCALAR>. You do not define dependencies in an PRMInterface so it is useless to overload an PRMAttribute<GUM_SCALAR> with another sharing the same type, and if tried it will raise an OperationNotAllowed exception.
elt | The new PRMClassElement<GUM_SCALAR> overloading an inherited PRMClassElement<GUM_SCALAR> in this. |
NotFound | Raised if no overloaded PRMClassElement<GUM_SCALAR> is found. |
OperationNotAllowed | Raised if the overloading is impossible. |
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 147 of file PRMInterface_tpl.h.
INLINE const Set< PRMReferenceSlot< GUM_SCALAR > *> & gum::prm::PRMInterface< GUM_SCALAR >::referenceSlots | ( | ) | const |
Returns the set of PRMAggregate of this Class<GUM_SCALAR>.
Definition at line 446 of file PRMInterface_tpl.h.
|
inlinestaticinherited |
Enumeration of the different types of objects handled by a PRM.
The "all" type is used to tell that we want any kind of PRMType (useful with iterators for example). No PRMObject will ever have "all" as type.
Definition at line 80 of file PRMObject.h.
|
virtualinherited |
Set the input flag value of id at b.
PRMAttribute or PRMAggregate can either be input, output, both or internal nodes.
By defaut, attributes and aggregates are inner nodes.
elt | A PRMClassElement<GUM_SCALAR>. |
b | The flag value. |
NotFound | Raised if id does'nt match any PRMClassElement<GUM_SCALAR> in this. |
WrongClassElement | Raised if NodeId is neither an PRMAttribute nor an PRMAggregate. |
Definition at line 78 of file PRMClassElementContainer_tpl.h.
|
protectedvirtualinherited |
Defines the IO flags of a PRMClassElement<GUM_SCALAR>.
elt | The PRMClassElement<GUM_SCALAR>. |
flags | The IO flags of elt. Overwrite any existing flags. |
NotFound | Raised if elt does not have any IO flags. |
Definition at line 149 of file PRMClassElementContainer_tpl.h.
|
virtualinherited |
Set the output flag value of id at b.
PRMAttribute or PRMAggregate can either be input, output, both or internal nodes.
By defaut, attributes and aggregates are inner nodes.
elt | A PRMClassElement<GUM_SCALAR>. |
b | The flag value. |
NotFound | Raised if id does'nt match any PRMClassElement<GUM_SCALAR> in this. |
WrongClassElement | Raised if NodeId is neither an PRMAttribute nor an PRMAggregate. |
Definition at line 94 of file PRMClassElementContainer_tpl.h.
INLINE PRMInterface< GUM_SCALAR > & gum::prm::PRMInterface< GUM_SCALAR >::super | ( | ) |
Returns the superInterface of this PRMInterface.
NotFound | Raised if this has no super PRMInterface. |
Definition at line 342 of file PRMInterface_tpl.h.
INLINE const PRMInterface< GUM_SCALAR > & gum::prm::PRMInterface< GUM_SCALAR >::super | ( | ) | const |
Returns the superInterface of this PRMInterface.
NotFound | Raised if this has no super PRMInterface. |
Definition at line 350 of file PRMInterface_tpl.h.
|
protectedvirtual |
See gum::prm::PRMClassElementContainer<GUM_SCALAR>(const PRMClassElement<GUM_SCALAR>&).
Implements gum::prm::PRMClassElementContainer< GUM_SCALAR >.
Definition at line 298 of file PRMInterface_tpl.h.
|
friend |
Definition at line 68 of file PRMInterface.h.
|
private |
The sequence of PRMAttribute<GUM_SCALAR>s.
Definition at line 337 of file PRMInterface.h.
|
private |
The dag representing dependencies between formal attributes and slots.
Definition at line 320 of file PRMInterface.h.
|
private |
The set of Class<GUM_SCALAR> which implements this PRMInterface.
Definition at line 363 of file PRMInterface.h.
|
private |
The set of Class<GUM_SCALAR> which implements this PRMInterface.
Definition at line 355 of file PRMInterface.h.
|
private |
Mapping between a member's name and itself. Used for fast access to a member given it's name.
Definition at line 334 of file PRMInterface.h.
|
private |
Mapping between node's id and their name (being an attribute or a slot). Used for fast access to a member given it's node id.
Definition at line 324 of file PRMInterface.h.
|
private |
The sequence of PRMReferenceSlot<GUM_SCALAR>.
Definition at line 340 of file PRMInterface.h.
|
private |
The alternate PRMClassElementContainer<GUM_SCALAR> searched for elements defined in this. Note that this is first searched for gum::PRMClassElement<GUM_SCALAR>.
Definition at line 352 of file PRMInterface.h.