5 #ifndef VCCC_VARIANTS_HOLDS_ALTERNATIVE_HPP
6 #define VCCC_VARIANTS_HOLDS_ALTERNATIVE_HPP
17 struct variant_holds_alternative_visitor {
18 template<
typename U, std::
size_t I>
19 constexpr
bool operator()(
const U&, in_place_index_t<I>)
const {
29 template<
typename T,
typename... Types, std::enable_if_t<
30 (type_sequence<Types...>::template count<T> == 1)
33 return detail::variant_raw_visit(v.
index(), v._base().union_, detail::variant_holds_alternative_visitor<T>{});
a type-safe discriminated union
Definition: variant.hpp:589
constexpr std::size_t index() const noexcept
Definition: variant.hpp:662
constexpr VCCC_INLINE_OR_STATIC std::size_t variant_npos
Definition: variant_npos.hpp:17
constexpr bool holds_alternative(const variant< Types... > &v) noexcept
Definition: holds_alternative.hpp:32
Definition: directory.h:12
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35