/sys$common/syshlp/helplib.hlb CXXLSTD, Function Objects, logical_not *Conan The Librarian |
Standard C++ Library Copyright 1996, Rogue Wave Software, Inc. NAME logical_not - Unary function object that returns true if its argument is false. SYNOPSIS #include <functional> template <class T> struct logical_not : unary_function<T, bool> ; DESCRIPTION logical_not is a unary function object. Its operator() returns true if its argument is false. You can pass a logical_not object to any algorithm that requires a unary function. For example, the replace_if algorithm replaces an element with another value if the result of a unary operation is true. logical_not is used in that algorithm in the following manner: vector<int> vec1; void replace_if(vec1.begin(), vec1.end(), logical_not<int>(),1); This call to replace_if replaces all zeros in the vec1 with "1". INTERFACE template <class T> struct logical_not : unary_function<T, bool> { typedef typename unary_function<T, bool>::argument_type argument_type; typedef typename unary_function<T, bool>::result_type result_type; bool operator() (const T&) const; }; WARNING If your compiler does not support default template parameters, you will need to always supply the Allocator template argument. For instance, you will have to write : vector<int, allocator<int> > instead of : vector<int> SEE ALSO function objects, unary_function STANDARDS CONFORMANCE ANSI X3J16/ISO WG21 Joint C++ Committee
|