
Module: Standard C++ Library Library: General utilities
binary_negatebinary_function
A function object that returns the complement of the result of its binary predicate
#include <functional>
namespace std {
template<class Predicate>
class binary_negate;
}
binary_negate is the function object class that is the return type for the function adaptor not2(). not2(), known as a negator, 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.
namespace std {
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;
};
// Nonmember Functions
template <class Predicate>
binary_negate<Predicate> not2 (const Predicate& pred);
}
explicit binary_negate(const Predicate& pred);
Constructs a binary_negate object from predicate pred.
bool
operator()(const first_argument_type& x,
const second_argument_type& y) const;
Returns the result of !pred(x,y).
binary_function, not2(), unary_negate
ISO/IEC 14882:1998 -- International Standard for Information Systems -- Programming Language C++, Section 20.3.5
Copyright (c) 1994-2006 Rogue Wave Software, a Quovadx Division.
Licensed under the Apache License, Version 2.0.
Contact Rogue Wave about documentation or support issues. You can also seek help from other developers through the Apache stdcxx community (see below).