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