3#ifndef TETL_VARIANT_VARIADIC_UNION_HPP
4#define TETL_VARIANT_VARIADIC_UNION_HPP
17template <
typename... Ts>
21template <
typename T,
typename... Ts>
25 template <
typename... Args>
31 template <
size_t I,
typename... Args>
53 if constexpr (I == 0) {
63 if constexpr (I == 0) {
73 if constexpr (I == 0) {
83 if constexpr (I == 0) {
#define TETL_TRIVIAL_ABI
Definition attributes.hpp:47
#define TETL_NO_UNIQUE_ADDRESS
Definition attributes.hpp:41
constexpr auto move(InputIt first, InputIt last, OutputIt destination) -> OutputIt
Moves the elements in the range [first, last), to another range beginning at destination,...
Definition move.hpp:26
Definition adjacent_find.hpp:8
integral_constant< size_t, I > index_constant
Definition index_constant.hpp:12
constexpr auto index_v
Definition index_constant.hpp:15
constexpr bool is_trivially_destructible_v
Definition is_trivially_destructible.hpp:33
constexpr auto forward(remove_reference_t< T > ¶m) noexcept -> T &&
Forwards lvalues as either lvalues or as rvalues, depending on T. When t is a forwarding reference (a...
Definition forward.hpp:18
Definition uninitialized_union.hpp:9
constexpr auto operator=(variadic_union &&other) -> variadic_union &=default
constexpr auto operator[](index_constant< I >) const &&-> auto const &&
Definition variadic_union.hpp:81
constexpr auto operator[](index_constant< I >) &-> auto &
Definition variadic_union.hpp:51
constexpr variadic_union(variadic_union const &other)=default
constexpr ~variadic_union()=default
constexpr variadic_union(index_constant< I >, Args &&... args)
Definition variadic_union.hpp:33
constexpr variadic_union(uninitialized_union)
Definition variadic_union.hpp:23
constexpr auto operator[](index_constant< I >) const &-> auto const &
Definition variadic_union.hpp:61
constexpr variadic_union(variadic_union &&other)=default
TETL_NO_UNIQUE_ADDRESS variadic_union< Ts... > tail
Definition variadic_union.hpp:91
constexpr ~variadic_union()
Definition variadic_union.hpp:48
constexpr auto operator[](index_constant< I >) &&-> auto &&
Definition variadic_union.hpp:71
constexpr auto operator=(variadic_union const &other) -> variadic_union &=default
constexpr variadic_union(index_constant< 0 >, Args &&... args)
Definition variadic_union.hpp:26
TETL_NO_UNIQUE_ADDRESS T head
Definition variadic_union.hpp:90
Definition variadic_union.hpp:18