std::variant<Types...>::index
constexpr std::size_t index() const noexcept; | (начиная с C++17) |
Возвращает индекс альтернативы, начинающийся с нуля, которая в данный момент хранится в variant.
Если variant находится в состоянии valueless_by_exception, возвращает variant_npos.
Пример
#include <iostream>
#include <string>
#include <variant>
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 по индексу или типу (если тип уникален); при ошибке выбрасывает исключение (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/variant/index