Giriş
Açıklaması şöyle.
Şöyle yaparız.
Şöyle yaparız.
Açıklaması şöyle.
With std::holds_alternative you can ask which type was stored in the variantÖrnek
Şöyle yaparız.
struct A{};
struct B{};
std::variant < A,B > Func( int x)
{
if ( x == 0 ) return A{};
return B{};
}
int main()
{
auto v = Func( 0 );
if ( std::holds_alternative<A>(v) )
{
std::cout << "A" << std::endl;
}
else if ( std::holds_alternative<B>(v) )
{
std::cout << "B" << std::endl;
}
// or even use std::visit or whatever is helpful...
}
ÖrnekŞöyle yaparız.
template<typename... Alts, typename... Ts>
constexpr bool holds_any_of(std::variant<Ts...> const& v) noexcept {
return (std::holds_alternative<Alts>(v) || ...);
}
Hiç yorum yok:
Yorum Gönder