I have defined the following variant:
std::variant<int, bool, MyType, int> myVar;
The type of the member at index 2
is MyType
. How to get this during compile time? (so that I can use it in a constexpr
context etc..)
I have defined the following variant:
std::variant<int, bool, MyType, int> myVar;
The type of the member at index 2
is MyType
. How to get this during compile time? (so that I can use it in a constexpr
context etc..)
Provides compile-time indexed access to the types of the alternatives of the possibly cv-qualified variant, combining cv-qualifications of the variant (if any) with the cv-qualifications of the alternative.
using T = std::variant_alternative_t<2, decltype(myVar)>;
Since C++17, you can use std::variant_alternative_t
std::variant_alternative_t<0, std::variant<int, std::string>> i; // int
std::variant_alternative_t<1, std::variant<int, std::string>> s; // string
© 2022 - 2024 — McMap. All rights reserved.