Skip to content. Skip to navigation

ICTP Portal

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

logical_or



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

logical_or


Function Object

Summary

Binary function object that returns true if either of its arguments are true.

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

None

Synopsis

#include <functional>

template <class T>
struct logical_or : binary_function<T, T, bool> ;

Description

logical_or is a binary function object. Its operator() returns true if either x or y are true. You can pass a logical_or object to any algorithm that requires a binary function. For example, the transform algorithm applies a binary operation to corresponding values in two collections and stores the result of the function. logical_or is used in that algorithm in the following manner:

vector<bool> vec1;
vector<bool> vec2;
vector<bool> vecResult;
.
.
.
transform(vec1.begin(), vec1.end(),
          vec2.begin(),
          vecResult.begin(), logical_or<bool>());

After this call to transform, vecResult(n) will contain a "1" (true) if either vec1(n) or vec2(n) is true or a "0" (false) if both vec1(n) and vec2(n) are false.

Interface

template <class T>
struct logical_or : binary_function<T, T, bool> {
  typedef typename binary_function<T, T, bool>::second_argument_type  
                                                second_argument_type;
  typedef typename binary_function<T, T, bool>::first_argument_type 
                                                first_argument_type;
  typedef typename binary_function<T, T, bool>::result_type
                                                result_type;
  bool operator() (const T&, 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<bool, allocator<bool> >

instead of:

vector<bool>

See Also

binary_function, Function Objects


©Copyright 1996, Rogue Wave Software, Inc.


Powered by Plone This site conforms to the following standards: