10template<
typename... Types>
11requires(
sizeof...(Types) > 0)
14template<
typename T,
typename... Rest>
30 template<concepts::RemoveCVRefSameAs<VariantImpl> Self>
32 return util::forward<Self>(self).m_value.value();
35 template<concepts::RemoveCVRefSameAs<VariantImpl> Self,
size_t index>
43 template<
size_t index>
48 template<
typename... Args>
54 template<
size_t index,
typename... Args>
84 template<concepts::RemoveCVRefSameAs<VariantImpl> Self>
86 return util::forward<Self>(self).m_value.value();
91 template<
typename... Args>
Definition rebindable_box.h:42
Definition variant_impl.h:12
VariantImpl< Rest... > m_rest
Definition variant_impl.h:64
static constexpr auto static_get(Constexpr< 0ZU >, Self &&self) -> meta::Like< Self, T > &&
Definition variant_impl.h:85
static constexpr auto static_get(Constexpr< 0ZU >, Self &&self) -> meta::Like< Self, T > &&
Definition variant_impl.h:31
constexpr void destroy_impl(Constexpr< 0ZU >)
Definition variant_impl.h:41
constexpr auto operator=(VariantImpl &&) -> VariantImpl &=default
constexpr VariantImpl(VariantImpl const &)=default
constexpr VariantImpl()
Definition variant_impl.h:71
constexpr auto operator=(VariantImpl const &) -> VariantImpl &=default
util::RebindableBox< T > m_value
Definition variant_impl.h:99
constexpr ~VariantImpl()
Definition variant_impl.h:26
constexpr auto emplace_impl(Constexpr< 0ZU >, Args &&... args) -> T &
Definition variant_impl.h:49
constexpr auto operator=(VariantImpl &&) -> VariantImpl &=default
constexpr auto operator=(VariantImpl const &) -> VariantImpl &=default
constexpr VariantImpl(VariantImpl &&)=default
util::RebindableBox< T > m_value
Definition variant_impl.h:63
constexpr auto emplace_impl(Constexpr< 0ZU >, Args &&... args) -> T &
Definition variant_impl.h:92
constexpr auto emplace_impl(Constexpr< index >, Args &&... args) -> decltype(auto)
Definition variant_impl.h:56
constexpr VariantImpl()
Definition variant_impl.h:17
constexpr VariantImpl(VariantImpl &&)=default
constexpr void destroy_impl(Constexpr< 0ZU >)
Definition variant_impl.h:89
constexpr VariantImpl(VariantImpl const &)=default
static constexpr auto static_get(Constexpr< index >, Self &&self) -> decltype(auto)
Definition variant_impl.h:37
constexpr void destroy_impl(Constexpr< index >)
Definition variant_impl.h:44
constexpr ~VariantImpl()
Definition variant_impl.h:80
constexpr auto destroy_at
Definition destroy_at.h:24
constexpr auto construct_at
Definition construct_at.h:27
Definition erasure_cast.h:7
constexpr auto c_
A value of type Constexpr<val>.
Definition constexpr.h:252
constexpr auto in_place
Definition in_place.h:8