Skip to content. Skip to navigation

ICTP Portal

Sections
You are here: Home Manuals on-line PGI Compiler pgC_lib logical_not
Personal tools
Document Actions

logical_not



Click on the banner to return to the class reference home page.

logical_not


Function Object

Summary

Unary function object that returns true if its argument is false.

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

None

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


©Copyright 1996, Rogue Wave Software, Inc.


Powered by Plone This site conforms to the following standards: