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