Scroll to navigation

std::variant::index(3) C++ Standard Libary std::variant::index(3)

NAME

std::variant::index - std::variant::index

Synopsis


constexpr std::size_t index() const noexcept; (since C++17)


Returns the zero-based index of the alternative that is currently held by the
variant.


If the variant is valueless_by_exception, returns variant_npos.

Example

// Run this code


#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';
}

Output:


v.index = 1
v.index = 0

See also


holds_alternative checks if a variant currently holds a given type
(C++17) (function template)
std::get(std::variant) reads the value of the variant given the index or the type
(C++17) (if the type is unique), throws on error
(function template)

2022.07.31 http://cppreference.com