16 template<
typename T,
typename Indices>
17 struct VariantLikeHelper;
19 template<
typename T,
size_t index>
22 template<
typename T,
size_t index>
23 concept HasVariantGet =
requires(T variant) {
30 template<
typename T,
size_t... indices>
31 struct VariantLikeHelper<T, meta::ListV<indices...>> {
32 constexpr static bool value = ((HasVariantAlernative<T, indices> && HasVariantGet<T, indices>) && ...);
40} &&
requires(T
const& variant) {
42} && detail::VariantLikeHelper<T, meta::MakeIndexSequence<meta::VariantSize<T>>>::value;
Definition variant_like.h:37
Definition any_storable.h:9
constexpr auto value
Definition value.h:34
constexpr auto in_place_type
Definition in_place_type.h:12
constexpr auto get(T &&value) -> decltype(auto)
Definition get.h:8
constexpr auto variant_index
Definition variant_index.h:27
constexpr auto variant_size
Definition variant_size.h:18