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);
#define ONIXS_SASSERT_MSG(expression, message)
#define ONIXS_CMEMDHFIX_NAMESPACE_BEGIN
#define ONIXS_CMEMDH_LTWT
#define ONIXS_CMEMDHFIX_NAMESPACE_END
ValueContainer()
Initializes the container.
Value & get()
Provides access to the value stored in the container assuming the value is of the specified type.
ValueContainer & assign(const Value &value)
Stores the given value in the container.
const Value & get() const
Provides access to the value stored in the container assuming the value is of the specified type.
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...
UInt8 Byte
Alias for Byte.