BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
ElementLink< STORABLE, StoragePolicy, IndexingPolicy > Class Template Reference

a persistable pointer to an element of a STORABLE (data object) More...

#include <ElementLink.h>

Inheritance diagram for ElementLink< STORABLE, StoragePolicy, IndexingPolicy >:

Public Types

typedef std::string ID_type
typedef const STORABLE & BaseConstReference
typedef IndexingPolicy::index_type index_type
typedef IndexingPolicy::ElementParameter ElementParameter
typedef IndexingPolicy::ElementConstReference ElementConstReference
typedef IndexingPolicy::ElementConstPointer ElementConstPointer
typedef IndexingPolicy::ElementPointer ElementPointer
typedef std::string ID_type
typedef const STORABLE & BaseConstReference
typedef IndexingPolicy::index_type index_type
typedef IndexingPolicy::ElementParameter ElementParameter
typedef IndexingPolicy::ElementConstReference ElementConstReference
typedef IndexingPolicy::ElementConstPointer ElementConstPointer
typedef IndexingPolicy::ElementPointer ElementPointer
typedef std::string ID_type
typedef const STORABLE & BaseConstReference
typedef IndexingPolicy::index_type index_type
typedef IndexingPolicy::ElementParameter ElementParameter
typedef IndexingPolicy::ElementConstReference ElementConstReference
typedef IndexingPolicy::ElementConstPointer ElementConstPointer
typedef IndexingPolicy::ElementPointer ElementPointer
Public Types inherited from DataProxyStorage< STORABLE >
typedef STORABLE value_type
typedef STORABLE * pointer
typedef const STORABLE * const_pointer
typedef STORABLE & reference
typedef const STORABLE & const_reference
typedef IStoragePolicy::ID_type ID_type
typedef STORABLE value_type
typedef STORABLE * pointer
typedef const STORABLE * const_pointer
typedef STORABLE & reference
typedef const STORABLE & const_reference
typedef IStoragePolicy::ID_type ID_type
typedef STORABLE value_type
typedef STORABLE * pointer
typedef const STORABLE * const_pointer
typedef STORABLE & reference
typedef const STORABLE & const_reference
typedef IStoragePolicy::ID_type ID_type
Public Types inherited from IStoragePolicy
typedef std::string ID_type
typedef std::string ID_type
typedef std::string ID_type

Public Member Functions

 ElementLink (IProxyDict *sg=StoragePolicy::defaultDataSource())
 default
 ElementLink (const ID_type &dataID, index_type elemID, IProxyDict *sg=StoragePolicy::defaultDataSource())
 o(1) version: provide storable key and element index
 ElementLink (const ID_type &dataID, index_type elemID, ElementPointer pEl)
 ElementLink (BaseConstReference data, index_type elemID, IProxyDict *sg=StoragePolicy::defaultDataSource())
 ElementLink (IProxyDict *sg=StoragePolicy::defaultDataSource())
 default
 ElementLink (const ID_type &dataID, index_type elemID, IProxyDict *sg=StoragePolicy::defaultDataSource())
 o(1) version: provide storable key and element index
 ElementLink (const ID_type &dataID, index_type elemID, ElementPointer pEl)
 ElementLink (BaseConstReference data, index_type elemID, IProxyDict *sg=StoragePolicy::defaultDataSource())
 ElementLink (IProxyDict *sg=StoragePolicy::defaultDataSource())
 default
 ElementLink (const ID_type &dataID, index_type elemID, IProxyDict *sg=StoragePolicy::defaultDataSource())
 o(1) version: provide storable key and element index
 ElementLink (const ID_type &dataID, index_type elemID, ElementPointer pEl)
 ElementLink (BaseConstReference data, index_type elemID, IProxyDict *sg=StoragePolicy::defaultDataSource())
Modifiers, use to make an ElementLink persistable

this will trigger a linear search for sequence

void toIndexedElement (BaseConstReference data, index_type elementID)
 set link to point to given index: FAST
bool toContainedElement (BaseConstReference data, ElementParameter element)
 set link to point to given element: O(n) for sequences!
void setStorableObject (BaseConstReference data)
 set link storable to data object pointed by data
void toIndexedElement (BaseConstReference data, index_type elementID)
 set link to point to given index: FAST
bool toContainedElement (BaseConstReference data, ElementParameter element)
 set link to point to given element: O(n) for sequences!
void setStorableObject (BaseConstReference data)
 set link storable to data object pointed by data
void toIndexedElement (BaseConstReference data, index_type elementID)
 set link to point to given index: FAST
bool toContainedElement (BaseConstReference data, ElementParameter element)
 set link to point to given element: O(n) for sequences!
void setStorableObject (BaseConstReference data)
 set link storable to data object pointed by data
Public Member Functions inherited from DataProxyStorage< STORABLE >
bool isValid () const
const ID_typedataID () const
pointer getDataPtr () const
reference getDataRef () const
template<class OS>
bool dataPut (OS &os)
template<class IS>
bool dataGet (IS &is)
bool isValid () const
const ID_typedataID () const
pointer getDataPtr () const
reference getDataRef () const
template<class OS>
bool dataPut (OS &os)
template<class IS>
bool dataGet (IS &is)
bool isValid () const
const ID_typedataID () const
pointer getDataPtr () const
reference getDataRef () const
template<class OS>
bool dataPut (OS &os)
template<class IS>
bool dataGet (IS &is)

Accessors

ElementConstReference operator* () const
ElementConstPointer operator-> () const
 operator ElementConstPointer () const
ElementConstPointer cptr () const
bool isValid () const
bool operator! () const
ElementConstReference operator* () const
ElementConstPointer operator-> () const
 operator ElementConstPointer () const
ElementConstPointer cptr () const
bool isValid () const
bool operator! () const
ElementConstReference operator* () const
ElementConstPointer operator-> () const
 operator ElementConstPointer () const
ElementConstPointer cptr () const
bool isValid () const
bool operator! () const

Additional Inherited Members

Static Public Member Functions inherited from DataProxyStorage< STORABLE >
static IProxyDict * defaultDataSource ()
static IProxyDict * defaultDataSource ()
static IProxyDict * defaultDataSource ()
Protected Member Functions inherited from DataProxyStorage< STORABLE >
bool setDataSource (IProxyDict *sg)
virtual ~DataProxyStorage ()
 DataProxyStorage (IProxyDict *sg=defaultDataSource())
 DataProxyStorage (const_reference rdata, IProxyDict *sg=defaultDataSource())
 DataProxyStorage (const_pointer pdata, IProxyDict *sg=defaultDataSource())
 DataProxyStorage (const ID_type &dataID, IProxyDict *sg=defaultDataSource())
 DataProxyStorage (SG::DataProxy *proxy, IProxyDict *sg=defaultDataSource())
void reset ()
void clear ()
void setData (const_reference rdata)
void setData (const_pointer pdata)
virtual void setData (DataObject *rdata)
virtual void setData (const ID_type &dataID)
virtual void setData (SG::DataProxy *proxy)
void changeState ()
virtual void * storable () const
virtual SG::DataProxy * proxy () const
virtual ID_type ID () const
virtual const CLID classID () const
virtual IProxyDict * source () const
bool setDataSource (IProxyDict *sg)
virtual ~DataProxyStorage ()
 DataProxyStorage (IProxyDict *sg=defaultDataSource())
 DataProxyStorage (const_reference rdata, IProxyDict *sg=defaultDataSource())
 DataProxyStorage (const_pointer pdata, IProxyDict *sg=defaultDataSource())
 DataProxyStorage (const ID_type &dataID, IProxyDict *sg=defaultDataSource())
 DataProxyStorage (SG::DataProxy *proxy, IProxyDict *sg=defaultDataSource())
void reset ()
void clear ()
void setData (const_reference rdata)
void setData (const_pointer pdata)
virtual void setData (DataObject *rdata)
virtual void setData (const ID_type &dataID)
virtual void setData (SG::DataProxy *proxy)
void changeState ()
virtual void * storable () const
virtual SG::DataProxy * proxy () const
virtual ID_type ID () const
virtual const CLID classID () const
virtual IProxyDict * source () const
bool setDataSource (IProxyDict *sg)
virtual ~DataProxyStorage ()
 DataProxyStorage (IProxyDict *sg=defaultDataSource())
 DataProxyStorage (const_reference rdata, IProxyDict *sg=defaultDataSource())
 DataProxyStorage (const_pointer pdata, IProxyDict *sg=defaultDataSource())
 DataProxyStorage (const ID_type &dataID, IProxyDict *sg=defaultDataSource())
 DataProxyStorage (SG::DataProxy *proxy, IProxyDict *sg=defaultDataSource())
void reset ()
void clear ()
void setData (const_reference rdata)
void setData (const_pointer pdata)
virtual void setData (DataObject *rdata)
virtual void setData (const ID_type &dataID)
virtual void setData (SG::DataProxy *proxy)
void changeState ()
virtual void * storable () const
virtual SG::DataProxy * proxy () const
virtual ID_type ID () const
virtual const CLID classID () const
virtual IProxyDict * source () const
Static Protected Member Functions inherited from DataProxyStorage< STORABLE >
static IProxyDict * getDataSource (std::string storeName)
static IProxyDict * getDataSource (std::string storeName)
static IProxyDict * getDataSource (std::string storeName)

Detailed Description

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
class ElementLink< STORABLE, StoragePolicy, IndexingPolicy >

a persistable pointer to an element of a STORABLE (data object)

Parameters
STORABLEhost object type (e,g. vector<Elem>, NOT Elem),
StoragePolicySTORABLE management policy (defaults to DataProxyStorage)
IndexingPolicypolicy to find the element in the host STORABLE
IndexingPolicy is generated automatically for STL sequences (e.g. vector, DataList etc). For other types of containers (e.g. maps), the container author must define the container type using the macros in tools/DeclareIndexingPolicies.h
Advanced developers may have to define an ad-hoc indexing policy (e.g. GenParticleIndexing in GeneratorObjects/McEventIndexingPolicy.h)
Author
ATLAS Collaboration
Id
ElementLink.h,v 1.3 2003/06/04 16:01:22 calaf Exp

Definition at line 37 of file Event/GeneratorObject/include/DataModel/ElementLink.h.

Member Typedef Documentation

◆ BaseConstReference [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef const STORABLE& ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::BaseConstReference

◆ BaseConstReference [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef const STORABLE& ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::BaseConstReference

◆ BaseConstReference [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef const STORABLE& ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::BaseConstReference

◆ ElementConstPointer [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::ElementConstPointer ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementConstPointer

◆ ElementConstPointer [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::ElementConstPointer ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementConstPointer

◆ ElementConstPointer [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::ElementConstPointer ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementConstPointer

◆ ElementConstReference [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::ElementConstReference ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementConstReference

◆ ElementConstReference [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::ElementConstReference ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementConstReference

◆ ElementConstReference [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::ElementConstReference ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementConstReference

◆ ElementParameter [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::ElementParameter ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementParameter

◆ ElementParameter [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::ElementParameter ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementParameter

◆ ElementParameter [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::ElementParameter ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementParameter

◆ ElementPointer [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::ElementPointer ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementPointer

◆ ElementPointer [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::ElementPointer ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementPointer

◆ ElementPointer [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::ElementPointer ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementPointer

◆ ID_type [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef std::string ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ID_type

◆ ID_type [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef std::string ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ID_type

◆ ID_type [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef std::string ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ID_type

◆ index_type [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::index_type ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::index_type

◆ index_type [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::index_type ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::index_type

◆ index_type [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
typedef IndexingPolicy::index_type ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::index_type

Constructor & Destructor Documentation

◆ ElementLink() [1/12]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementLink ( IProxyDict * sg = StoragePolicy::defaultDataSource())
inline

default

Definition at line 54 of file Event/GeneratorObject/include/DataModel/ElementLink.h.

55 : StoragePolicy( sg ), IndexingPolicy(), m_element( 0 ) {}

◆ ElementLink() [2/12]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementLink ( const ID_type & dataID,
index_type elemID,
IProxyDict * sg = StoragePolicy::defaultDataSource() )
inline

o(1) version: provide storable key and element index

Definition at line 58 of file Event/GeneratorObject/include/DataModel/ElementLink.h.

◆ ElementLink() [3/12]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementLink ( const ID_type & dataID,
index_type elemID,
ElementPointer pEl )
inline

o(1) version: provide storable key, element index AND element ptr USE CAREFULLY: no coherency checks, we just trust you!

Definition at line 63 of file Event/GeneratorObject/include/DataModel/ElementLink.h.

64 : StoragePolicy( dataID, 0 ), IndexingPolicy( elemID ), m_element( pEl ) {}

◆ ElementLink() [4/12]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementLink ( BaseConstReference data,
index_type elemID,
IProxyDict * sg = StoragePolicy::defaultDataSource() )
inline

o(1) version: provide index (identifier) of owned object and a pointer to the storable

Exceptions
std::invalid_argumentwhen the element is not found

Definition at line 68 of file Event/GeneratorObject/include/DataModel/ElementLink.h.

70 : StoragePolicy( data, sg ), IndexingPolicy( elemID ), m_element( 0 ) {}

◆ ElementLink() [5/12]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementLink ( IProxyDict * sg = StoragePolicy::defaultDataSource())
inline

default

Definition at line 54 of file InstallArea/x86_64-el9-gcc13-dbg/include/DataModel/ElementLink.h.

55 : StoragePolicy( sg ), IndexingPolicy(), m_element( 0 ) {}

◆ ElementLink() [6/12]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementLink ( const ID_type & dataID,
index_type elemID,
IProxyDict * sg = StoragePolicy::defaultDataSource() )
inline

o(1) version: provide storable key and element index

Definition at line 58 of file InstallArea/x86_64-el9-gcc13-dbg/include/DataModel/ElementLink.h.

60 : StoragePolicy( dataID, sg ), IndexingPolicy( elemID ), m_element( 0 ) {}

◆ ElementLink() [7/12]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementLink ( const ID_type & dataID,
index_type elemID,
ElementPointer pEl )
inline

o(1) version: provide storable key, element index AND element ptr USE CAREFULLY: no coherency checks, we just trust you!

Definition at line 63 of file InstallArea/x86_64-el9-gcc13-dbg/include/DataModel/ElementLink.h.

64 : StoragePolicy( dataID, 0 ), IndexingPolicy( elemID ), m_element( pEl ) {}

◆ ElementLink() [8/12]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementLink ( BaseConstReference data,
index_type elemID,
IProxyDict * sg = StoragePolicy::defaultDataSource() )
inline

o(1) version: provide index (identifier) of owned object and a pointer to the storable

Exceptions
std::invalid_argumentwhen the element is not found

Definition at line 68 of file InstallArea/x86_64-el9-gcc13-dbg/include/DataModel/ElementLink.h.

70 : StoragePolicy( data, sg ), IndexingPolicy( elemID ), m_element( 0 ) {}

◆ ElementLink() [9/12]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementLink ( IProxyDict * sg = StoragePolicy::defaultDataSource())
inline

default

Definition at line 54 of file InstallArea/x86_64-el9-gcc13-opt/include/DataModel/ElementLink.h.

55 : StoragePolicy( sg ), IndexingPolicy(), m_element( 0 ) {}

◆ ElementLink() [10/12]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementLink ( const ID_type & dataID,
index_type elemID,
IProxyDict * sg = StoragePolicy::defaultDataSource() )
inline

o(1) version: provide storable key and element index

Definition at line 58 of file InstallArea/x86_64-el9-gcc13-opt/include/DataModel/ElementLink.h.

60 : StoragePolicy( dataID, sg ), IndexingPolicy( elemID ), m_element( 0 ) {}

◆ ElementLink() [11/12]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementLink ( const ID_type & dataID,
index_type elemID,
ElementPointer pEl )
inline

o(1) version: provide storable key, element index AND element ptr USE CAREFULLY: no coherency checks, we just trust you!

Definition at line 63 of file InstallArea/x86_64-el9-gcc13-opt/include/DataModel/ElementLink.h.

64 : StoragePolicy( dataID, 0 ), IndexingPolicy( elemID ), m_element( pEl ) {}

◆ ElementLink() [12/12]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::ElementLink ( BaseConstReference data,
index_type elemID,
IProxyDict * sg = StoragePolicy::defaultDataSource() )
inline

o(1) version: provide index (identifier) of owned object and a pointer to the storable

Exceptions
std::invalid_argumentwhen the element is not found

Definition at line 68 of file InstallArea/x86_64-el9-gcc13-opt/include/DataModel/ElementLink.h.

70 : StoragePolicy( data, sg ), IndexingPolicy( elemID ), m_element( 0 ) {}

Member Function Documentation

◆ cptr() [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementConstPointer ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::cptr ( ) const

◆ cptr() [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementConstPointer ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::cptr ( ) const

◆ cptr() [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementConstPointer ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::cptr ( ) const

◆ isValid() [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
bool ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::isValid ( ) const
inline

Definition at line 102 of file Event/GeneratorObject/include/DataModel/ElementLink.h.

102{ return ( 0 != cptr() ); }

Referenced by ElementLink< STORABLE, PlainPtrStorage< STORABLE >, IndexingPolicy >::operator!().

◆ isValid() [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
bool ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::isValid ( ) const
inline

Definition at line 102 of file InstallArea/x86_64-el9-gcc13-dbg/include/DataModel/ElementLink.h.

102{ return ( 0 != cptr() ); }

◆ isValid() [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
bool ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::isValid ( ) const
inline

Definition at line 102 of file InstallArea/x86_64-el9-gcc13-opt/include/DataModel/ElementLink.h.

102{ return ( 0 != cptr() ); }

◆ operator ElementConstPointer() [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::operator ElementConstPointer ( ) const
inline

Definition at line 99 of file Event/GeneratorObject/include/DataModel/ElementLink.h.

99{ return cptr(); }

◆ operator ElementConstPointer() [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::operator ElementConstPointer ( ) const
inline

Definition at line 99 of file InstallArea/x86_64-el9-gcc13-dbg/include/DataModel/ElementLink.h.

99{ return cptr(); }

◆ operator ElementConstPointer() [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::operator ElementConstPointer ( ) const
inline

Definition at line 99 of file InstallArea/x86_64-el9-gcc13-opt/include/DataModel/ElementLink.h.

99{ return cptr(); }

◆ operator!() [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
bool ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::operator! ( ) const
inline

◆ operator!() [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
bool ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::operator! ( ) const
inline

Definition at line 103 of file InstallArea/x86_64-el9-gcc13-dbg/include/DataModel/ElementLink.h.

103{ return !isValid(); }

◆ operator!() [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
bool ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::operator! ( ) const
inline

Definition at line 103 of file InstallArea/x86_64-el9-gcc13-opt/include/DataModel/ElementLink.h.

103{ return !isValid(); }

◆ operator*() [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementConstReference ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::operator* ( ) const
Exceptions
std::runtime_errorwhen the element is not found

◆ operator*() [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementConstReference ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::operator* ( ) const
Exceptions
std::runtime_errorwhen the element is not found

◆ operator*() [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementConstReference ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::operator* ( ) const
Exceptions
std::runtime_errorwhen the element is not found

◆ operator->() [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementConstPointer ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::operator-> ( ) const
inline

Definition at line 98 of file Event/GeneratorObject/include/DataModel/ElementLink.h.

98{ return cptr(); }

◆ operator->() [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementConstPointer ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::operator-> ( ) const
inline

Definition at line 98 of file InstallArea/x86_64-el9-gcc13-dbg/include/DataModel/ElementLink.h.

98{ return cptr(); }

◆ operator->() [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
ElementConstPointer ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::operator-> ( ) const
inline

Definition at line 98 of file InstallArea/x86_64-el9-gcc13-opt/include/DataModel/ElementLink.h.

98{ return cptr(); }

◆ setStorableObject() [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
void ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::setStorableObject ( BaseConstReference data)
inline

set link storable to data object pointed by data

Definition at line 90 of file Event/GeneratorObject/include/DataModel/ElementLink.h.

◆ setStorableObject() [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
void ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::setStorableObject ( BaseConstReference data)
inline

set link storable to data object pointed by data

Definition at line 90 of file InstallArea/x86_64-el9-gcc13-dbg/include/DataModel/ElementLink.h.

◆ setStorableObject() [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
void ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::setStorableObject ( BaseConstReference data)
inline

set link storable to data object pointed by data

Definition at line 90 of file InstallArea/x86_64-el9-gcc13-opt/include/DataModel/ElementLink.h.

◆ toContainedElement() [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
bool ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::toContainedElement ( BaseConstReference data,
ElementParameter element )

set link to point to given element: O(n) for sequences!

◆ toContainedElement() [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
bool ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::toContainedElement ( BaseConstReference data,
ElementParameter element )

set link to point to given element: O(n) for sequences!

◆ toContainedElement() [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
bool ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::toContainedElement ( BaseConstReference data,
ElementParameter element )

set link to point to given element: O(n) for sequences!

◆ toIndexedElement() [1/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
void ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::toIndexedElement ( BaseConstReference data,
index_type elementID )

set link to point to given index: FAST

◆ toIndexedElement() [2/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
void ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::toIndexedElement ( BaseConstReference data,
index_type elementID )

set link to point to given index: FAST

◆ toIndexedElement() [3/3]

template<typename STORABLE, class StoragePolicy = DataProxyStorage<STORABLE>, class IndexingPolicy = typename SG::GenerateIndexingPolicy<STORABLE>::type>
void ElementLink< STORABLE, StoragePolicy, IndexingPolicy >::toIndexedElement ( BaseConstReference data,
index_type elementID )

set link to point to given index: FAST


The documentation for this class was generated from the following files: