home | help
std::holds_alternative(3)      C++ Standard Libary     std::holds_alternative(3)

NAME
     std::holds_alternative - std::holds_alternative

Synopsis
	Defined in header <variant>
	template< class T, class... Types >
	constexpr  bool  holds_alternative(  const  std::variant<Types...>&  v )
     (since C++17)
	noexcept;

	Checks if the variant v holds the alternative T. The call is  ill-formed
     if T does
	not appear exactly once in Types...

Parameters
	v - variant to examine

Return value
	true if the variant currently holds the alternative T, false otherwise.

Example
     // Run this code

      #include <variant>
      #include <string>
      #include <iostream>
      int main()
      {
	  std::variant<int, std::string> v = "abc";
	  std::cout << std::boolalpha
		    << "variant holds int? "
		    << std::holds_alternative<int>(v) << '\n'
		    << "variant holds string? "
		    << std::holds_alternative<std::string>(v) << '\n';
      }

Output:
      variant holds int? false
      variant holds string? true

See also
			  returns  the	zero-based index of the alternative held
     by the
	index		  variant
			  (public member function)
	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)

http://cppreference.com 	   2024.06.10	       std::holds_alternative(3)

home | help