std::logical_not
                 | template< class T >
struct logical_not; |  | (until C++14) | 
  | template< class T = void >
struct logical_not; |  | (since C++14) | 
   
 Function object for performing logical NOT (logical negation). Effectively calls operator! for type T.
Specializations
  
| The standard library provides a specialization of std::logical_notwhenTis not specified, which leaves the parameter types and return type to be deduced.   |  | function object implementing !xdeducing argument and return types(class template specialization)
 |  | (since C++14) | 
 
  
|  Member types  | Type | Definition |   | result_type(deprecated in C++17) | bool |   | argument_type(deprecated in C++17) | T |  | (until C++20) | 
 
 Member functions
   | operator() | returns the logical NOT of the argument (public member function)
 | 
 
    std::logical_not::operator() 
     | bool operator()( const T& arg ) const; |  | (until C++14) | 
  | constexpr bool operator()( const T& arg ) const; |  | (since C++14) | 
   
 Returns the logical NOT of arg.
 Parameters
   | arg | - | value to compute logical NOT of | 
  Return value
 The result of !arg.
 Exceptions
 (none).
 Possible implementation
   | const bool operator()(const T &arg) const 
{
    return !arg;
} |