Top of document
©Copyright 1999 Rogue Wave Software

binary_negate


     Function Object

Summary

Function object that returns the complement of the result of its binary predicate

Contents

Synopsis

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

Description

binary_negate is a function object class that provides 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;
  typedef typename binary_function<typename           
   Predicate::first_argument_type, typename   
   Predicate::second_argument_type, bool>::first_argument_type       
                                           first_argument_type;
  typedef typename binary_function<typename      
   Predicate::first_argument_type, typename      
   Predicate::second_argument_type, bool>::result_type 
                                           result_type;
  explicit binary_negate (const Predicate&);
  bool operator() (const first_argument_type&,
                   const second_argument_type&) const;
};
// Non-member Functions
template <class Predicate>
binary_negate<Predicate> not2 (const Predicate& pred);

Constructor

explicit binary_negate (const Predicate& pred);

Operator

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

See Also

binary_function, not2, unary_negate


Top of document