44 Byte bytes_[Capacity];
50 return static_cast<void*
>(bytes_);
57 return static_cast<const void*
>(bytes_);
65 template <typename Value>
68 ONIXS_ILINK3_STATIC_ASSERT_MSG
70 (
sizeof(Value) <=
static_cast<size_t>(Capacity)),
"Capacity is not sufficient for storing values of the given type."
73 return *
static_cast<Value*
> (place());
77 template <
typename Value>
80 ONIXS_ILINK3_STATIC_ASSERT_MSG
82 (
sizeof(Value) <=
static_cast<size_t>(Capacity)),
"Capacity of the storage is not sufficient to store values of the specified type."
85 return *
static_cast<const Value*
>(place());
92 ONIXS_ILINK3_STATIC_ASSERT_MSG
94 (
sizeof(Value) <=
static_cast<size_t>(Capacity)),
"Capacity of the storage is not sufficient to store values of the specified type."
97#if defined (ONIXS_ILINK3_CXX11)
99 std::is_nothrow_copy_constructible<Value>::value,
103 new (place()) Value(value);
#define ONIXS_ILINK3_LTWT_CLASS
#define ONIXS_ILINK3_MESSAGING_TAGBASED_NAMESPACE_END
#define ONIXS_ILINK3_MESSAGING_TAGBASED_NAMESPACE_BEGIN
#define ONIXS_ILINK3_NODISCARD
#define ONIXS_ILINK3_DEFAULT
#define ONIXS_ILINK3_NOTHROW
const Value & get() const noexcept
ValueContainer()=default
Initializes the container.
ValueContainer & assign(const Value &value) noexcept
Stores the given value.
UInt8 Byte
Alias for Byte.