Man Page binary_negate.3



                       Standard C++ Library
             Copyright 1998, Rogue Wave Software, Inc.



NAME

     binary_negate

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





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 func-
     tion 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