table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 - Leap-15.6
 
| std::unary_negate(3) | C++ Standard Libary | std::unary_negate(3) | 
NAME¶
std::unary_negate - std::unary_negate
Synopsis¶
 Defined in header <functional>
  
   template< class Predicate >
  
   struct unary_negate : public (until C++11)
  
   std::unary_function<Predicate::argument_type, bool>;
  
   (since C++11)
  
   template< class Predicate > (deprecated in
  
   struct unary_negate; C++17)
  
   (removed in C++20)
  
   std::unary_negate is a wrapper function object returning the complement of
    the unary
  
   predicate it holds.
  
   The unary predicate type must define a member type, argument_type, that is
  
   convertible to the predicate's parameter type. The unary function objects
    obtained
  
   from std::ref, std::cref, std::negate, std::logical_not, std::mem_fn,
    std::function,
  
   std::hash, or from another call to std::not1 have this type defined, as are
    function
  
   objects derived from the deprecated std::unary_function.
  
   std::unary_negate objects are easily constructed with helper function
    std::not1.
Member types¶
 Type Definition
  
   argument_type Predicate::argument_type
  
   result_type bool
Member functions¶
 constructor constructs a new unary_negate object with the
    supplied predicate
  
   (public member function)
  
   returns the logical complement of the result of a call to the stored
  
   operator() predicate
  
   (public member function)
std::unary_negate::unary_negate
  
   explicit unary_negate( Predicate const& pred ); (until C++14)
  
   constexpr explicit unary_negate( Predicate const& pred ); (since
    C++14)
  
   Constructs a std::unary_negate function object with the stored predicate
    pred.
Parameters¶
pred - predicate function object
std::unary_negate::operator()
  
   bool operator()( argument_type const& x ) const; (until C++14)
  
   constexpr bool operator()( argument_type const& x ) const; (since
    C++14)
  
   Returns the logical complement of the result of calling pred(x).
Parameters¶
x - argument to pass through to predicate
Return value¶
The logical complement of the result of calling pred(x).
Example¶
// Run this code
  
   #include <algorithm>
  
   #include <functional>
  
   #include <iostream>
  
   #include <vector>
  
   struct less_than_7 : std::unary_function<int, bool>
  
   {
  
   bool operator()(int i) const { return i < 7; }
  
   };
  
   int main()
  
   {
  
   std::vector<int> v(7, 7);
  
   v[0] = v[1] = v[2] = 6;
  
   std::unary_negate<less_than_7> not_less_than_7((less_than_7()));
  
   // C++11 solution:
  
   // Use std::function<bool (int)>
  
   // std::function<bool (int)> not_less_than_7 =
  
   // [](int x)->bool { return !less_than_7()(x); };
  
   std::cout << std::count_if(v.begin(), v.end(), not_less_than_7);
  
   }
Output:¶
4
See also¶
 binary_negate wrapper function object returning the complement of
    the binary
  
   (deprecated in C++17) predicate it holds
  
   (removed in C++20) (class template)
  
   function wraps callable object of any copy constructible type with
  
   (C++11) specified function call signature
  
   (class template)
  
   move_only_function wraps callable object of any type with specified function
    call
  
   (C++23) signature
  
   (class template)
  
   not1 constructs custom std::unary_negate object
  
   (deprecated in C++17) (function template)
  
   (removed in C++20)
  
   ptr_fun creates an adaptor-compatible function object wrapper from a
  
   (deprecated in C++11) pointer to function
  
   (removed in C++17) (function template)
  
   unary_function adaptor-compatible unary function base class
  
   (deprecated in C++11) (class template)
  
   (removed in C++17)
| 2024.06.10 | http://cppreference.com |