Apache C++ Standard Library Reference Guide

## unary_negate

Library: General utilities

    unary_negate  unary_function

- Local Index
- Summary
- Synopsis
- Description
- Interface
- Constructors
- Operators
- See Also
- Standards Conformance

### Local Index

#### Members

operator()() | unary_negate() |

### Summary

A function object that returns the complement of the result of its unary predicate

### Synopsis

    #include <functional>

    namespace std {
      template <class Predicate>
      class unary_negate;
    }

### Description

unary_negate is a function object used as a return type for the function adapter `not1()`. `not1()` is a function adapter, known as a negator, that takes a unary predicate function object as its argument and returns a unary predicate function object that is the complement of the original.

Note that `not1()` works only with function objects that are defined as subclasses of the class unary_function.

### Interface

    namespace std {

      template <class Predicate>
      class unary_negate : public
         unary_function<typename Predicate::argument_type, bool> {

       public:
       explicit unary_negate(const Predicate&);
       bool operator()(const typename
                        Predicate::argument_type&) const;
      };
    }

### Constructors

    explicit
    unary_negate(const Predicate& pred);

Constructs a unary_negate object from predicate `pred`.

### Operators

    bool
    operator()(const typename Predicate::argument_type& x)
               const;

Returns the result of `unary_negate<predicate>(pred)`.

### See Also

`not1()`, `not2()`, unary_function, binary_negate

### Standards Conformance

ISO/IEC 14882:1998 -- International Standard for Information Systems -- Programming Language C++, 20.3.5