28 #ifndef BSL_ALIGNED_UNION_HPP 29 #define BSL_ALIGNED_UNION_HPP 51 template<
typename GUARD,
bsl::uintmax LEN,
typename... TYPES>
54 static_assert(
sizeof...(TYPES) > 0,
"empty aligned_union is not supported");
Implements the std::aligned_union type interface.
Definition: aligned_union.hpp:64
Implements the std::aligned_union interface. The only real difference is we use "m_data" instead of "...
Definition: aligned_union.hpp:52
byte m_data[index_sequence< LEN, sizeof(TYPES)... >::max()]
defines the storage component of the bsl::aligned_union
Definition: aligned_union.hpp:68
static constexpr bsl::uintmax alignment_value
the alignment of the union.
Definition: aligned_union.hpp:57
The class template std::integer_sequence represents a compile-time sequence of integers....
Definition: integer_sequence.hpp:52
typename aligned_union< void, LEN, TYPES... >::type aligned_union_t
a helper that reduces the verbosity of bsl::aligned_union
Definition: aligned_union.hpp:74
::uintmax_t uintmax
defines a unsigned integer with the maximum possible size
Definition: cstdint.hpp:97