ATLAS Offline Software
Static Public Member Functions | Static Private Member Functions | Static Private Attributes | List of all members
SG::BaseInfo< DataVectorWithAlloc< DV, ALLOC > > Class Template Reference

Let the BaseInfo for DataVectorWithAlloc forward to that of the base DataVector. More...

#include <DataVectorWithAlloc.h>

Inheritance diagram for SG::BaseInfo< DataVectorWithAlloc< DV, ALLOC > >:
Collaboration diagram for SG::BaseInfo< DataVectorWithAlloc< DV, ALLOC > >:

Static Public Member Functions

static void * cast (DV *p, CLID clid)
 Cast to a base pointer. More...
 
static void * cast (DV *p, const std::type_info &tinfo)
 Cast to a base pointer. More...
 
static DV * castTo (void *p, CLID clid)
 Cast to a derived pointer. More...
 
static DV * castTo (void *p, const std::type_info &tinfo)
 Cast to a derived pointer. More...
 
static BaseInfoBase::castfn_tcastfn (CLID clid)
 Return a function for casting to a base pointer. More...
 
static BaseInfoBase::castfn_tcastfn (const std::type_info &tinfo)
 Return a function for casting to a base pointer. More...
 
static BaseInfoBase::castfn_tcastfnTo (CLID clid)
 Return a function for casting to a derived pointer. More...
 
static BaseInfoBase::castfn_tcastfnTo (const std::type_info &tinfo)
 Return a function for casting to a derived pointer. More...
 
static const std::vector< CLID > & get_bases ()
 Return the class IDs of all known bases of T (that have class IDs). More...
 
static std::vector< const std::type_info * > get_ti_bases ()
 Return the type_info's of all known bases of T. More...
 
static bool is_base (CLID clid)
 Return true if clid is the ID of a class that is known to be a base of T. More...
 
static bool is_base (const std::type_info &tinfo)
 Return true if tinfo is the std::type_info of a class that is known to be a base of T. More...
 
static bool is_virtual (CLID clid)
 Return true if clid is the ID of a class that is known to be a virtual base of T. More...
 
static bool is_virtual (const std::type_info &tinfo)
 Return true if tinfo is the std::type_info of a class that is known to be a virtual base of T. More...
 
static const BaseInfoBasebaseinfo ()
 Return the non-templated BaseInfoBase object for this type. More...
 
static void maybeInit ()
 

Static Private Member Functions

static BaseInfoImpl< DV > & instance ()
 Return a reference to the (singleton) implementation object for this class. More...
 

Static Private Attributes

static BaseInfoImpl< DV > s_instance ATLAS_THREAD_SAFE
 

Detailed Description

template<class DV, class ALLOC>
class SG::BaseInfo< DataVectorWithAlloc< DV, ALLOC > >

Let the BaseInfo for DataVectorWithAlloc forward to that of the base DataVector.

Definition at line 860 of file DataVectorWithAlloc.h.

Member Function Documentation

◆ baseinfo()

static const BaseInfoBase& SG::BaseInfo< DV >::baseinfo ( )
staticinherited

Return the non-templated BaseInfoBase object for this type.

◆ cast() [1/2]

static void* SG::BaseInfo< DV >::cast ( T *  p,
CLID  clid 
)
staticinherited

Cast to a base pointer.

Parameters
pThe pointer to cast.
clidID of the class to which to cast.
Returns
The pointer cast to the requested type, returned as a void*. clid must be known to be a base of T; otherwise, 0 will be returned.

◆ cast() [2/2]

static void* SG::BaseInfo< DV >::cast ( T *  p,
const std::type_info &  tinfo 
)
staticinherited

Cast to a base pointer.

Parameters
pThe pointer to cast.
clidtype_info of the class to which to cast.
Returns
The pointer cast to the requested type, returned as a void*. tinfo must be known to be a base of T; otherwise, 0 will be returned.

◆ castfn() [1/2]

static BaseInfoBase::castfn_t* SG::BaseInfo< DV >::castfn ( CLID  clid)
staticinherited

Return a function for casting to a base pointer.

Parameters
clidID of the class to which to cast.
Returns
A function to convert a pointer to a T to a pointer to the type identified by clid. clid must be known to be a base of T; otherwise, 0 will be returned.

◆ castfn() [2/2]

static BaseInfoBase::castfn_t* SG::BaseInfo< DV >::castfn ( const std::type_info &  tinfo)
staticinherited

Return a function for casting to a base pointer.

Parameters
clidtype_info of the class to which to cast.
Returns
A function to convert a pointer to a T to a pointer to the type identified by tinfo. tinfo must be known to be a base of T; otherwise, 0 will be returned.

◆ castfnTo() [1/2]

static BaseInfoBase::castfn_t* SG::BaseInfo< DV >::castfnTo ( CLID  clid)
staticinherited

Return a function for casting to a derived pointer.

Parameters
clidID of the class B from which to cast.
Returns
A function to convert a pointer to a T to a pointer to a T. clid must be known to be a base of T; otherwise, 0 will be returned. 0 will also be returned if the dynamic_cast fails.

◆ castfnTo() [2/2]

static BaseInfoBase::castfn_t* SG::BaseInfo< DV >::castfnTo ( const std::type_info &  tinfo)
staticinherited

Return a function for casting to a derived pointer.

Parameters
clidtype_info of the class B from which to cast.
Returns
A function to convert a pointer to a B to a pointer to a T. tinfo must be known to be a base of T; otherwise, 0 will be returned. 0 will also be returned if the dynamic_cast fails.

◆ castTo() [1/2]

static DV * SG::BaseInfo< DV >::castTo ( void *  p,
CLID  clid 
)
staticinherited

Cast to a derived pointer.

Parameters
pThe pointer to cast.
clidID of the class B from which to cast.
Returns
The pointer cast to a T*. B must be known to be a base of T; otherwise, 0 will be returned. 0 will also be returned if the dynamic_cast fails.

◆ castTo() [2/2]

static DV * SG::BaseInfo< DV >::castTo ( void *  p,
const std::type_info &  tinfo 
)
staticinherited

Cast to a derived pointer.

Parameters
pThe pointer to cast.
clidtype_info of the class B from which to cast.
Returns
The pointer cast to a T*. B must be known to be a base of T; otherwise, 0 will be returned. 0 will also be returned if the dynamic_cast fails.

◆ get_bases()

static const std::vector<CLID>& SG::BaseInfo< DV >::get_bases ( )
staticinherited

Return the class IDs of all known bases of T (that have class IDs).

The list will include T itself.

◆ get_ti_bases()

static std::vector<const std::type_info*> SG::BaseInfo< DV >::get_ti_bases ( )
staticinherited

Return the type_info's of all known bases of T.

The list will include T itself.

◆ instance()

static BaseInfoImpl<DV >& SG::BaseInfo< DV >::instance ( )
staticprivateinherited

Return a reference to the (singleton) implementation object for this class.

◆ is_base() [1/2]

static bool SG::BaseInfo< DV >::is_base ( CLID  clid)
staticinherited

Return true if clid is the ID of a class that is known to be a base of T.

T is considered to be its own base for this purpose.

Parameters
clidThe ID of the class to test.

◆ is_base() [2/2]

static bool SG::BaseInfo< DV >::is_base ( const std::type_info &  tinfo)
staticinherited

Return true if tinfo is the std::type_info of a class that is known to be a base of T.

T is considered to be its own base for this purpose.

Parameters
tinfoThe std::type_info of the class to test.

◆ is_virtual() [1/2]

static bool SG::BaseInfo< DV >::is_virtual ( CLID  clid)
staticinherited

Return true if clid is the ID of a class that is known to be a virtual base of T.

(This will always be false for T itself.)

Parameters
clidThe ID of the class to test.

◆ is_virtual() [2/2]

static bool SG::BaseInfo< DV >::is_virtual ( const std::type_info &  tinfo)
staticinherited

Return true if tinfo is the std::type_info of a class that is known to be a virtual base of T.

(This will always be false for T itself.)

Parameters
tinfoThe std::type_info of the class to test.

◆ maybeInit()

static void SG::BaseInfo< DV >::maybeInit ( )
staticinherited

Member Data Documentation

◆ ATLAS_THREAD_SAFE

BaseInfoImpl<DV > s_instance SG::BaseInfo< DV >::ATLAS_THREAD_SAFE
staticprivateinherited

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