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.
 1.8.6