![]() |
ATLAS Offline Software
|
#include <StorageSvc/DbTypeInfo.h>
Public Types | |
typedef RootType | TypeH |
Definition of reflection class handle. More... | |
typedef std::vector< const DbColumn * > | Columns |
Column Container definition. More... | |
Public Member Functions | |
void | destroy () |
Destroy type information; to be used with extreme care. More... | |
void | addRef () const |
void | deleteRef () const |
Releases the ownership. More... | |
TypeH | clazz (bool noIdScan=false) const |
Access to reflection class. If not known, by default scan all types for class ID. More... | |
const Columns & | columns () const |
Prepare for the case of discrete columns: Column information. More... | |
Columns & | columns () |
Modify content of the object by editing columns. More... | |
const std::string | toString () const |
Create string representation of the type information object. More... | |
DbStatus | declareBase (const DbTypeInfo *pInfo) |
Allow usage of base classes. More... | |
const Guid & | shapeID () const |
Access database identifier. More... | |
Guid & | shapeID () |
void | setShapeID (const Guid &id) |
Access database identifier. More... | |
Guid & | setShapeID (const std::string &id) |
Static Public Member Functions | |
static DbTypeInfo * | create (const std::string &cl_name) |
Create type information using name. More... | |
static DbTypeInfo * | create (const std::string &cl_name, Columns &cols) |
Create type information using name. More... | |
static DbTypeInfo * | create (const Guid &guid) |
Create type information using Guid only Class must already be registered. More... | |
static DbTypeInfo * | create (const Guid &guid, Columns &cols) |
Create type information using Guid only Class must already be registered. More... | |
static DbTypeInfo * | createEx (const Guid &guid) |
Create type information using Guid only Class must already be registered. More... | |
static DbTypeInfo * | createEx (const Guid &guid, Columns &cols) |
Create type information using Guid only Class must already be registered. More... | |
static const DbTypeInfo * | fromString (const std::string &string_rep) |
Load type information object from string representation. More... | |
static const std::string | typeName (const std::type_info &typ) |
Access type name by type identifier from RTTI. More... | |
Protected Member Functions | |
DbTypeInfo (const Guid &guid, TypeH cl, Columns &cols) | |
Constructor with type id. More... | |
DbTypeInfo (const Guid &guid) | |
virtual | ~DbTypeInfo () |
Destructor. More... | |
DbStatus | i_fromString (const std::string &string_rep) |
Load type information object from string representation. More... | |
Static Protected Member Functions | |
static DbTypeInfo * | regShape (const Guid &guid, const TypeH &type, Columns &cols) |
try to add a new shape More... | |
Protected Attributes | |
Guid | m_id |
Object global identifier. More... | |
Private Attributes | |
std::atomic< int > | m_refCount |
Reference counter. More... | |
Columns | m_columns |
Column definitions. More... | |
int | m_mult |
Multiplicity. More... | |
CxxUtils::CachedValue< TypeH > | m_class |
Reflection class. More... | |
Definition of class DbTypeInfo
Description: Generalized persistent type information
Definition at line 47 of file DbTypeInfo.h.
typedef std::vector<const DbColumn*> pool::DbTypeInfo::Columns |
Column Container definition.
Definition at line 53 of file DbTypeInfo.h.
typedef RootType pool::DbTypeInfo::TypeH |
Definition of reflection class handle.
Definition at line 51 of file DbTypeInfo.h.
Constructor with type id.
|
protectedvirtual |
Destructor.
|
inline |
Definition at line 103 of file DbTypeInfo.h.
TypeH pool::DbTypeInfo::clazz | ( | bool | noIdScan = false | ) | const |
Access to reflection class. If not known, by default scan all types for class ID.
|
inline |
Prepare for the case of discrete columns: Column information.
Definition at line 109 of file DbTypeInfo.h.
|
static |
Create type information using Guid only Class must already be registered.
Note: Existence of reflection class is Mandatory!
|
static |
Create type information using Guid only Class must already be registered.
Note: Existence of reflection class is Mandatory!
|
static |
Create type information using name.
Note: Existence of reflection class is Mandatory!
|
static |
Create type information using name.
|
static |
Create type information using Guid only Class must already be registered.
Note: Existence of reflection class is NOT mandatory!
|
static |
Create type information using Guid only Class must already be registered.
Note: Existence of reflection class is NOT mandatory!
DbStatus pool::DbTypeInfo::declareBase | ( | const DbTypeInfo * | pInfo | ) |
Allow usage of base classes.
void pool::DbTypeInfo::deleteRef | ( | ) | const |
Releases the ownership.
|
inline |
Destroy type information; to be used with extreme care.
Definition at line 80 of file DbTypeInfo.h.
|
static |
Load type information object from string representation.
Load type information object from string representation.
|
staticprotected |
try to add a new shape
|
inlineinherited |
const std::string pool::DbTypeInfo::toString | ( | ) | const |
Create string representation of the type information object.
Access type name by type identifier from RTTI.
|
private |
Reflection class.
Definition at line 63 of file DbTypeInfo.h.
|
private |
Column definitions.
Definition at line 59 of file DbTypeInfo.h.
|
protectedinherited |
|
private |
Multiplicity.
Definition at line 61 of file DbTypeInfo.h.
|
mutableprivate |
Reference counter.
Definition at line 57 of file DbTypeInfo.h.