LCIO  02.17
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Functions
LCRTRelations.h File Reference
#include <iostream>
#include <vector>
#include <list>
#include <map>
#include <typeindex>
#include <memory>
#include <Exceptions.h>
+ Include dependency graph for LCRTRelations.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  lcrtrel_helper::can_call_ext< B >
 
struct  lcrtrel_helper::can_call_ext< true >
 
struct  lcrtrel_helper::SimplePtrInit
 Function pointer for delete function. More...
 
struct  lcrtrel_helper::CreationPtrInit< T >
 Factory for objects of type T. More...
 
struct  lcrtrel_helper::NoDelete
 Empty delete function for pointers w/o ownership. More...
 
struct  lcrtrel_helper::DeletePtr< T >
 Delete function for pointers w/ ownership. More...
 
struct  lcrtrel_helper::DeleteElements< T >
 Delete function for containers of owned objects. More...
 
struct  lcrtrel_helper::LCBaseTraits< U, T, I, D, b >
 Map of pointers to extension obbjects. More...
 
struct  lcrtrel_helper::LCBaseLinkTraits< U, T, I, D, b >
 Base class for all extensions and relations of single objects. More...
 
struct  lcrtrel_helper::LCBaseLinkContainerTraits< U, T, I, D, b >
 Base class for all containers of extensions and relations, vectors, lists,... More...
 
struct  lcrtrel_helper::RelationOneSide< U, T >
 Helper class for relations. More...
 
struct  lcrtrel_helper::RelationManySide< U, T >
 Helper class for relations. More...
 
struct  lcrtrel_helper::FromRelation< U >
 Helper class for relations. More...
 
struct  lcrtrel_helper::ToRelation< U >
 Helper class for relations. More...
 
struct  lcrtrel_helper::BiDirectional< From, To >
 Helper class for biderectional relations provides the to and from type. More...
 
struct  lcrtrel_helper::objorcont< is_container >
 Helper functions that treat single objects and containers. More...
 
struct  lcrtrel_helper::objorcont< false >
 Helper functions specialization for single objects. More...
 
struct  lcrtrel::LCExtension< U, T >
 Simple Extension - pointer to an object of type T. More...
 
class  lcrtrel::LCOwnedExtension< U, T >
 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  lcrtrel::LCExtensionVector< U, T >
 Extension vector holding pointers to objects of type T - no ownership of the objects is taken. More...
 
class  lcrtrel::LCOwnedExtensionVector< U, T >
 Extension vector holding pointers to objects of type T - ownership of the objects is taken, i.e. More...
 
class  lcrtrel::LCExtensionList< U, T >
 Extension list holding pointers to objects of type T - no ownership of the objects is taken. More...
 
class  lcrtrel::LCOwnedExtensionList< U, T >
 Extension list holding pointers to objects of type T - ownership of the objects is taken, i.e. More...
 
struct  lcrtrel::LC1To1Relation< U, From, To >
 One to one relation between two objects of type From and To. More...
 
struct  lcrtrel::LC1ToNRelation< U, From, To >
 One to many relation between one object of type From to many objects of type To. More...
 
struct  lcrtrel::LCNToNRelation< U, From, To >
 Many to many relation between objects of type From to objects of type To. More...
 
struct  lcrtrel::LCIntExtension< U >
 Special Extension that allows to write int extensions directly (not through a pointer !). More...
 
struct  lcrtrel::LCFloatExtension< U >
 
struct  lcrtrel::LCBoolExtension< U >
 
class  lcrtrel::LCRTRelations
 Base class that provides run time (user) extensions and relation between objects. More...
 

Namespaces

 lcrtrel_helper
 
 lcrtrel
 

Functions

template<class R >
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. More...
 
template<class R >
void lcrtrel::unset_relation (typename R::from::obj_ptr f)
 Unset the 1-to-1 relation from f. More...
 
template<class R >
void lcrtrel::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. More...
 
template<class R >
void lcrtrel::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. More...
 
template<class R >
void lcrtrel::remove_relations (typename R::from::obj_ptr f)
 Removes all relations from the given object. More...
 
template<class R >
void lcrtrel::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. More...