VMS Help
CXXLSTD, Function Objects, logical_and

 *Conan The Librarian

 			   Standard C++	Library
 		 Copyright 1996, Rogue Wave Software, Inc.

 NAME

   logical_and  - Binary	function object	that returns true if both of
   its arguments are	true.

 SYNOPSIS

   #include <functional>

   template <class T>
   struct logical_and : public binary_function<T, T, bool>;

 DESCRIPTION

   logical_and is a binary function object.  Its	operator() returns
   true	if both x and y are true.  You can pass a logical_and 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_and 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_and<bool>());

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

 INTERFACE

   template <class T>
   struct logical_and : 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

 STANDARDS CONFORMANCE
   ANSI X3J16/ISO WG21 Joint C++	Committee
  Close     Help