13 #ifndef DD4HEP_OPAQUEDATA_H
14 #define DD4HEP_OPAQUEDATA_H
60 std::string
str()
const;
62 const std::type_info&
typeInfo()
const;
68 template <
typename T>
T&
get();
70 template <
typename T>
const T&
get()
const;
91 unsigned char data[
sizeof(std::vector<void*>)];
95 void (*
copy)(
void*,
const void*);
112 void (*ctor)(
void*,
const void*),
113 void (*dtor)(
void*));
115 template <
typename T>
T&
bind();
117 template <
typename T>
T&
bind(
const std::string& value);
119 void assign(
const void* ptr,
const std::type_info& typ);
121 template<
typename T>
T&
set(
const std::string& value);
Class describing an opaque conditions data block.
OpaqueDataBlock & operator=(const OpaqueDataBlock &clone)
Assignment operator.
enum DD4hep::OpaqueDataBlock::@4 _DataTypes
T & set(const std::string &value)
Bind grammar and assign value.
Base class describing string evaluation to C++ objects using boost::spirit.
Class describing an opaque data block.
OpaqueDataBlock()
Standard initializing constructor.
void(* copy)(void *, const void *)
Constructor function – only set if the object is valid.
std::string str() const
Create string representation of the data block.
bool move(OpaqueDataBlock &from)
Move the data content: 'from' will be reset to NULL.
virtual ~OpaqueData()
Standard Destructor.
OpaqueData()
Standard initializing constructor.
bool is_bound() const
Check if object is already bound....
bool fromString(const std::string &rep)
Create data block from string representation.
const std::string & dataType() const
Access type name of the condition data block.
void * pointer
Pointer to object data.
unsigned char data[sizeof(std::vector< void * >)]
Data buffer: plain data are allocated directly on this buffer.
void assign(const void *ptr, const std::type_info &typ)
Set data value.
const BasicGrammar * grammar
Data type.
T & bind()
Bind data value.
OpaqueData & operator=(const OpaqueData &c)
Assignment operator.
const std::type_info & typeInfo() const
Access type id of the condition.
~OpaqueDataBlock()
Standard Destructor.
unsigned int type
Data buffer type: Must be a bitmap!
void(* destruct)(void *)
Destructor function – only set if the object is valid.