96 static Type ID(
const std::type_info& typ ) {
97 if ( typ ==
typeid(
unsigned char ) )
99 else if ( typ ==
typeid(
unsigned short ) )
101 else if ( typ ==
typeid(
unsigned int ) )
103 else if ( typ ==
typeid(
unsigned long ) )
105 else if ( typ ==
typeid(
unsigned long long ) )
107 else if ( typ ==
typeid(
char ) )
109 else if ( typ ==
typeid(
short ) )
111 else if ( typ ==
typeid(
int ) )
113 else if ( typ ==
typeid(
long ) )
115 else if ( typ ==
typeid(
long long ) )
117 else if ( typ ==
typeid(
bool ) )
119 else if ( typ ==
typeid(
float ) )
121 else if ( typ ==
typeid(
double ) )
123 else if ( typ ==
typeid( std::string ) )
125 else if ( typ ==
typeid(
char* ) )
133 else if ( typ ==
typeid(
void* ) )
140 static const std::type_info&
type(
long typ ) {
143 return typeid(
unsigned char );
145 return typeid(
unsigned short );
147 return typeid(
unsigned int );
149 return typeid(
unsigned long );
151 return typeid(
unsigned long long );
153 return typeid( char );
155 return typeid( short );
157 return typeid( int );
159 return typeid( long );
161 return typeid(
long long );
163 return typeid( bool );
165 return typeid( float );
167 return typeid( double );
169 return typeid( std::string );
171 return typeid( std::string );
173 return typeid(
char* );
175 return typeid(
char* );
185 return typeid(
void* );
193 return sizeof(
unsigned char );
195 return sizeof(
unsigned short );
197 return sizeof(
unsigned int );
199 return sizeof(
unsigned long );
201 return sizeof(
unsigned long long );
203 return sizeof( char );
205 return sizeof( short );
207 return sizeof( int );
209 return sizeof( long );
211 return sizeof(
long long );
213 return sizeof( bool );
215 return sizeof( float );
217 return sizeof( double );
219 return sizeof( std::string );
221 return sizeof( std::string );
223 return sizeof(
char* );
225 return sizeof(
char* );
237 static long size(
const std::type_info& typ ) {
return size(
ID( typ ) ); }
240 static int copy(
void* tar,
const void* src,
long typ,
int numObj ) {
243 numObj *=
sizeof(
unsigned char );
246 numObj *=
sizeof(
unsigned short );
249 numObj *=
sizeof(
unsigned int );
252 numObj *=
sizeof(
unsigned long );
255 numObj *=
sizeof(
unsigned long long );
258 numObj *=
sizeof( char );
261 numObj *=
sizeof( short );
264 numObj *=
sizeof( int );
267 numObj *=
sizeof( long );
270 numObj *=
sizeof(
long long );
273 numObj *=
sizeof( bool );
276 numObj *=
sizeof( float );
279 numObj *=
sizeof( double );
286 memcpy( tar, src, numObj );
291 static std::string name(
long typ );
293 static std::string name(
const std::type_info& typ );
295 static Type idByName(
const std::string& typ );
297 static const std::type_info& typeByName(
const std::string& typ );
All classes that their objects may be contained in an LHCb ObjectContainer (e.g.
A DataObject is the base class of any identifiable object on any data store.
static Type ID(const long long)
Access to type information: long long.
static Type ID(const std::type_info &typ)
Access to type information: the reverse way.
static Type ID(const unsigned short)
Access to type information: unsigned short.
static Type ID(const unsigned long long)
Access to type information: unsigned long long.
static Type ID(const bool)
Access to type information: bool.
static const std::type_info & type(long typ)
Access to type information: the reverse way.
static Type ID(const unsigned char)
Access to type information: unsigned char.
static long size(const std::type_info &typ)
Access to type information: the reverse way.
static Type ID(const void *)
Access to type information: Pointers.
static Type ID(const short)
Access to type information: short.
static Type ID(const char *)
Access to type information: char* (NULL terminated).
static Type ID(const long)
Access to type information: long.
static Type ID(const IOpaqueAddress *)
Access to type information: IOpaqueAddress.
static int copy(void *tar, const void *src, long typ, int numObj)
Copy data.
static Type ID(const unsigned int)
Access to type information: unsigned int.
static Type ID(const SmartRef< ContainedObject > &)
Access to type information: Contained object.
static Type ID(const SmartRef< DataObject > &)
Access to type information: DataObject.
static Type ID(const int)
Access to type information: int.
static Type ID(const unsigned long)
Access to type information: unsigned long.
static Type ID(const double)
Access to type information: float.
static Type ID(const std::string &)
Access to type information: std::string.
static long size(long typ)
Access to type information: the reverse way.
static Type ID(const float)
Access to type information: float.
static Type ID(const char)
Access to type information: char.
Opaque address interface definition.
Kernel objects: SmartRef.