lcrtrel Namespace Reference

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

Detailed Description

The namespace lcrtrel holds classes and functions for runtime extensions and relations see LCRTRelations for more detailed documentation.


Function Documentation

template<class R >
void lcrtrel::set_relation ( typename R::from::obj_ptr  f,
typename R::to::obj_ptr  t 
) [inline]

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.

 All Classes Namespaces Functions Variables Typedefs Friends

Generated on 6 Mar 2020 for LCIO by  doxygen 1.6.1