1 #ifndef CondCore_ORA_RecordDetails_H
2 #define CondCore_ORA_RecordDetails_H
8 #include <boost/type_traits/is_pointer.hpp>
10 #include "CoralBase/Blob.h"
15 std::type_info
const *
type;
21 virtual void const *
get(
const AnyData & ad)
const=0;
32 virtual void const *
get(
const AnyData &)
const{
return 0;};
43 virtual void const *
get(
const AnyData &ad)
const{
return ad.p;};
54 virtual void set(
AnyData & ad,
void *
p)
const { ad.
data<
T>() = *reinterpret_cast<T*>(p);}
55 virtual void const *
get(
const AnyData & ad)
const {
return &ad.data<
T>();}
63 inline static bool inplace() {
return sizeof(
T) < 9;}
77 *
reinterpret_cast<T*
>(ad.
address()) = *reinterpret_cast<T*>(p);
79 *
reinterpret_cast<T*
>(ad.
p) = *reinterpret_cast<T*>(p);
82 virtual void const *
get(
const AnyData & ad)
const {
98 delete reinterpret_cast<T*
>(ad.
p);
140 std::vector<TypeHandler const *>
all;
141 typedef std::vector<TypeHandler const *>::const_iterator
CI;
190 return (range.first==range.second) ? (
TypeHandler const *)(0) : *range.first;
195 #endif // CondCore_ORA_RecordDEtails_H
virtual void const * address(const AnyData &ad) const
AnyTypeHandler< float * > fp
AnyTypeHandler< short * > sp
AnyTypeHandler< coral::Blob > cb
virtual bool isPointer() const =0
bool operator()(TypeHandler const *rh, TypeHandler const *lh)
NullTypeHandler(std::type_info const &t)
std::vector< TypeHandler const * > all
virtual bool isPointer() const
virtual void create(AnyData &) const
virtual void destroy(AnyData &ad) const =0
AnyTypeHandler< long long * > lp
virtual void const * address(const AnyData &ad) const
virtual bool isPointer() const
virtual bool isPointer() const
virtual void create(AnyData &ad) const
AnyTypeHandler< unsigned char > uc
AnyTypeHandler< unsigned int * > uip
AnyTypeHandler< unsigned long long * > ulp
virtual void destroy(AnyData &ad) const
std::type_info const * type
AnyTypeHandler< std::string * > ssp
AnyTypeHandler< long double > ld
AnyTypeHandler< unsigned short > us
AnyTypeHandler< unsigned int > ui
virtual void destroy(AnyData &) const
AnyTypeHandler< float > f
AnyTypeHandler< unsigned short * > usp
virtual void const * address(const AnyData &ad) const =0
virtual void create(AnyData &ad) const
AnyTypeHandler< int * > ip
AnyTypeHandler< double * > dp
AnyTypeHandler< char * > cp
virtual void const * address(const AnyData &) const
virtual void set(AnyData &ad, void *p) const
AnyTypeHandler< bool * > bp
virtual void const * address(const AnyData &ad) const
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
AnyTypeHandler< unsigned long long > ul
virtual void destroy(AnyData &) const
AnyTypeHandler< unsigned char * > ucp
AnyTypeHandler< double > d
AnyTypeHandler< std::string > ss
virtual void destroy(AnyData &ad) const
TypeHandler const * operator()(std::type_info const &type) const
AnyTypeHandler< short > s
AnyTypeHandler< long long > ll
virtual bool isPointer() const
virtual void set(AnyData &ad, void *p) const
virtual void set(AnyData &, void *) const
std::vector< TypeHandler const * >::const_iterator CI
AnyTypeHandler< long double * > ldp
virtual void set(AnyData &ad, void *p) const =0
virtual void create(AnyData &) const
virtual void set(AnyData &ad, void *p) const
virtual void create(AnyData &ad) const =0