Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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	other-
       wise.

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

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::holds_alternative&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help