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);
UInt8 Byte
Alias for Byte.
ValueContainer & assign(const Value &value) noexcept
Stores the given value.
#define ONIXS_ILINK3_MESSAGING_TAGBASED_NAMESPACE_END
#define ONIXS_ILINK3_DEFAULT
#define ONIXS_ILINK3_LTWT_CLASS
#define ONIXS_ILINK3_MESSAGING_TAGBASED_NAMESPACE_BEGIN
#define ONIXS_ILINK3_NODISCARD
#define ONIXS_ILINK3_NOTHROW