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)
get(std::variant) reads the value of the variant given the index or the type (if the
(C++17) type is unique), throws on error
(function template)

2024.06.10 http://cppreference.com