## binary_negate

    Function Object

- Summary
- Data Type and Member Function Indexes
- Synopsis
- Description
- Interface
- Constructors
- Operators
- See Also

### Summary

A function object that returns the complement of the result of its binary predicate.

### Data Type and Member Function Indexes
(exclusive of constructors and destructors)

Member Functions
operator()()

### Synopsis

    #include <functional>
    template<class Predicate>
    class binary_negate ;

### Description

binary_negate is a function object class with a return type for the function adaptor not2. not2 is a function adaptor, known as a negator, that takes a binary predicate function object as its argument and returns a binary predicate function object that is the complement of the original.

Note that not2 works only with function objects that are defined as subclasses of the class binary_function.

### Interface

    template<class Predicate>
    class binary_negate
      : public binary_function<typename
                              Predicate::first_argument_type,
                              typename
                              Predicate::second_argument_type,
                              bool>
    {
    public:

      typedef typename binary_function<typename
       Predicate::first_argument_type, typename
       Predicate::second_argument_type,
           bool>::second_argument_type second_argument_type;

      explicit binary_negate (const Predicate&);
      bool operator()
           (const typename Predicate::first_argument_type&,
            const typename Predicate::second_argument_type&)
            const;
    };

    // Non-member Functions

    template <class Predicate>
    binary_negate<Predicate> not2 (const Predicate& pred);

### Constructors

    explicit binary_negate(const Predicate& pred);

Constructs a binary_negate object from predicate `pred`.

### Operators

    bool
    operator()(const first_argument_type& x,
               const second_argument_type& y) const;

Returns the result of `pred(x,y)`.

### See Also

binary_function, not2, unary_negate

Copyright (c) 1998, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.
OEM Release, June 1998