Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

LCRTRelations.h File Reference

#include <iostream>
#include <vector>
#include <list>
#include <map>

Go to the source code of this file.

Namespaces

namespace  lcrtrel_helper
namespace  lcrtrel

Classes

struct  lcrtrel_helper::can_call_ext< B >
struct  lcrtrel_helper::can_call_ext< true >
struct  lcrtrel_helper::SimplePtrInit
struct  lcrtrel_helper::NoDelete
struct  lcrtrel_helper::CreationPtrInit< T >
struct  lcrtrel_helper::DeletePtr< T >
struct  lcrtrel_helper::DeleteElements< T >
struct  lcrtrel_helper::LCBaseTraits< U, T, I, D, b >
struct  lcrtrel_helper::LCBaseLinkTraits< U, T, I, D, b >
struct  lcrtrel_helper::LCBaseLinkContainerTraits< U, T, I, D, b >
struct  lcrtrel_helper::RelationOneSide< U, T >
struct  lcrtrel_helper::RelationManySide< U, T >
struct  lcrtrel_helper::FromRelation< U >
struct  lcrtrel_helper::ToRelation< U >
struct  lcrtrel_helper::BiDirectional< From, To >
struct  lcrtrel_helper::objorcont< is_container >
struct  lcrtrel_helper::objorcont< false >
struct  lcrtrel::LCExtension< U, T >
class  lcrtrel::LCOwnedExtension< U, T >
class  lcrtrel::LCExtensionVector< U, T >
class  lcrtrel::LCOwnedExtensionVector< U, T >
class  lcrtrel::LCExtensionList< U, T >
class  lcrtrel::LCOwnedExtensionList< U, T >
struct  lcrtrel::LC1To1Relation< U, From, To >
struct  lcrtrel::LC1ToNRelation< U, From, To >
struct  lcrtrel::LCNToNRelation< U, From, To >
struct  lcrtrel::LCIntExtension< U >
struct  lcrtrel::LCFloatExtension< U >
class  lcrtrel::LCRTRelations

Defines

#define LCRTRelations_H   1

Typedefs

typedef void(* DeleteFPtr )(void *)
typedef std::map< unsigned,
void * > 
PtrMap
typedef std::vector< DeleteFPtrDPtrVec

Functions

template<class R>
void set_relation (typename R::from::obj_ptr f, typename R::to::obj_ptr t)
template<class R>
void unset_relation (typename R::from::obj_ptr f)
template<class R>
void add_relation (typename R::from::obj_ptr f, typename R::to::obj_ptr t)
template<class R>
void remove_relation (typename R::from::obj_ptr f, typename R::to::obj_ptr t)
template<class R>
void remove_relations (typename R::from::obj_ptr f)
template<class R>
void merge_relations (typename R::from::obj_ptr f1, typename R::from::obj_ptr f2)


Define Documentation

#define LCRTRelations_H   1
 

Definition at line 2 of file LCRTRelations.h.


Typedef Documentation

typedef void(* lcrtrel_helper::DeleteFPtr)(void *)
 

Function pointer for delete function

Definition at line 19 of file LCRTRelations.h.

Referenced by lcrtrel::LCFloatExtension< U >::deletePtr(), lcrtrel::LCIntExtension< U >::deletePtr(), and lcrtrel_helper::LCBaseTraits< U, T, SimplePtrInit, DeletePtr< T >, b >::deletePtr().

typedef std::vector< DeleteFPtr > lcrtrel_helper::DPtrVec
 

Vector of delete functions

Definition at line 54 of file LCRTRelations.h.

Referenced by lcrtrel::LCRTRelations::cleaners().

typedef std::map< unsigned , void * > lcrtrel_helper::PtrMap
 

Map of pointers to extension obbjects

Definition at line 51 of file LCRTRelations.h.


Function Documentation

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

Definition at line 587 of file LCRTRelations.h.

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.

Definition at line 623 of file LCRTRelations.h.

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

Definition at line 600 of file LCRTRelations.h.

template<class R>
void lcrtrel::remove_relations typename R::from::obj_ptr  f  ) 
 

Removes all relations from the given object

Definition at line 610 of file LCRTRelations.h.

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.

Definition at line 573 of file LCRTRelations.h.

template<class R>
void lcrtrel::unset_relation typename R::from::obj_ptr  f  ) 
 

Unset the 1-to-1 relation from f

Definition at line 559 of file LCRTRelations.h.


Generated on Sun Jun 3 06:32:14 2007 for A TPC Tracking Environment by  doxygen 1.3.9.1