The namespace lcrtrel holds classes and functions for runtime extensions and relations see LCRTRelations for more detailed documentation. More...
Classes | |
struct | LCExtension |
Simple Extension - pointer to an object of type T. More... | |
class | LCOwnedExtension |
Simple Extension - pointer to an object of type T where the ownership is taken over by the object holding the extension, i.e. More... | |
class | LCExtensionVector |
Extension vector holding pointers to objects of type T - no ownership of the objects is taken. More... | |
class | LCOwnedExtensionVector |
Extension vector holding pointers to objects of type T - ownership of the objects is taken, i.e. More... | |
class | LCExtensionList |
Extension list holding pointers to objects of type T - no ownership of the objects is taken. More... | |
class | LCOwnedExtensionList |
Extension list holding pointers to objects of type T - ownership of the objects is taken, i.e. More... | |
struct | LC1To1Relation |
One to one relation between two objects of type From and To. More... | |
struct | LC1ToNRelation |
One to many relation between one object of type From to many objects of type To. More... | |
struct | LCNToNRelation |
Many to many relation between objects of type From to objects of type To. More... | |
struct | LCIntExtension |
Special Extension that allows to write int extensions directly (not through a pointer !). More... | |
struct | LCFloatExtension |
class | LCRTRelations |
Base class that provides run time (user) extensions and relation between objects. More... | |
Functions | |
template<class R > | |
void | set_relation (typename R::from::obj_ptr f, typename R::to::obj_ptr t) |
Set the 1-to-1 relation between two objects - prexisting inconsistent relations involving the two objects are deleted to enforce a consistent set of from-to relations. More... | |
template<class R > | |
void | unset_relation (typename R::from::obj_ptr f) |
Unset the 1-to-1 relation from f. | |
template<class R > | |
void | add_relation (typename R::from::obj_ptr f, typename R::to::obj_ptr t) |
Add a link from f to t to an N-to-N relation ship. | |
template<class R > | |
void | remove_relation (typename R::from::obj_ptr f, typename R::to::obj_ptr t) |
Remove the link from from f to t from the N-to-N relation ship. | |
template<class R > | |
void | remove_relations (typename R::from::obj_ptr f) |
Removes all relations from the given object. | |
template<class R > | |
void | merge_relations (typename R::from::obj_ptr f1, typename R::from::obj_ptr f2) |
Merge the relations from f2 to f1 - after this call f1 will hold all the relations and f2 will be empty. | |
The namespace lcrtrel holds classes and functions for runtime extensions and relations see LCRTRelations for more detailed documentation.
void lcrtrel::set_relation | ( | typename R::from::obj_ptr | f, |
typename R::to::obj_ptr | t | ||
) |
Set the 1-to-1 relation between two objects - prexisting inconsistent relations involving the two objects are deleted to enforce a consistent set of from-to relations.