table of contents
        
      
      
    | 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)
  
   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 |