43 Byte bytes_[Capacity];
49 return static_cast<void*
>(bytes_);
54 const void* place()
const 56 return static_cast<const void*
>(bytes_);
66 template <
typename Value>
70 sizeof(Value) <= Capacity,
71 "Capacity isn't sufficient for " 72 "storing values of the given type. " 75 return *
static_cast<Value*
>(place());
81 template <
typename Value>
82 const Value&
get()
const 85 sizeof(Value) <= Capacity,
86 "Capacity of the storage isn't " 87 "sufficient to store values " 88 "of the specified type. " 91 return *
static_cast<const Value*
>(place());
95 template <
class Value>
99 sizeof(Value) <= Capacity,
100 "Capacity of the storage isn't " 101 "sufficient to store values " 102 "of the specified type. " 105 new (place()) Value(value);
UInt8 Byte
Alias for Byte.
ValueContainer()
Initializes the container.
#define ONIXS_CMEMDHFIX_NAMESPACE_BEGIN
#define ONIXS_CMEMDH_LTWT
bool value(Number &number, const MultiContainer &container, Tag tag)
Finds a tag-value entry in the given collection by the given tag and returns its value component tran...
#define ONIXS_CMEMDHFIX_NAMESPACE_END
ValueContainer & assign(const Value &value)
Stores the given value in the container.
#define ONIXS_SASSERT_MSG(expression, message)
Container for a value of any supported kinds.