std::variant<Types...>::index
Материал из cppreference.com
constexpr std::size_t index() const noexcept; |
(начиная с C++17) | |
Возвращает отсчитываемый от нуля индекс альтернативы, которая в настоящее время удерживается объектом variant.
Если variant является valueless_by_exception, возвращает variant_npos.
[править] Пример
Запустить этот код
#include <variant> #include <string> #include <iostream> int main() { std::variant<int, std::string> v = "abc"; std::cout << "v.index = " << v.index() << '\n'; v = {}; std::cout << "v.index = " << v.index() << '\n'; }
Вывод:
v.index = 1 v.index = 0
[править] Смотрите также
(C++17) |
проверяет, содержит ли variant в настоящее время заданный тип (шаблон функции) |
(C++17) |
читает значение variant по заданному индексу или типу (если тип уникален), генерирует исключение при ошибке (шаблон функции) |