SGI

logical_and<T>

类别:仿函数 组件类型:类型

描述

Logical_and<T>是一个函数对象;具体来说,它是一个可适配二元谓词,这意味着它是一个测试某个条件真假性的函数对象。如果f是类logical_and<T>的一个对象x的一个对象y是类T(其中T可转换为bool)则f(x,y)返回真当且仅当两者都为x的一个对象y. [1]

示例

在列表中查找第一个位于 1 到 10 范围内的元素。
list<int> L;
...
list<int>::iterator in_range = 
     find_if(L.begin(), L.end(),
             compose2(logical_and<bool>(),
                      bind2nd(greater_equal<int>(), 1),
                      bind2nd(less_equal<int>(), 10)));
assert(in_range == L.end() || (*in_range >= 1 && *in_range <= 10));

定义

定义在标准头文件 functional 中,以及非标准向后兼容头文件 function.h 中。

模板参数

参数 描述 默认值
T 的类型logical_and的参数  

模型

可适配二元谓词可默认构造

类型要求

T必须可转换为bool.

公共基类

binary_function<T, T, bool>

成员

成员 定义位置 描述
first_argument_type 可适配二元函数 第一个参数的类型T
second_argument_type 可适配二元函数 第二个参数的类型T
result_type 可适配二元函数 结果的类型bool
bool operator()(const T& x, const T& y) const 二元函数 函数调用运算符。返回值为x && y.
logical_and() 可默认构造 默认构造函数。

新成员

所有logical_and的成员都在可适配二元函数可默认构造要求中定义。Logical_and没有引入任何新成员。

注释

[1] Logical_and的一个对象logical_or本身不是很有用。它们之所以有用,主要是因为当与函数对象适配器binary_compose结合使用时,它们对其他函数对象执行逻辑运算。

另请参阅

函数对象概述logical_or, logical_not.
[Silicon Surf] [STL Home]
Copyright © 1999 Silicon Graphics, Inc. 保留所有权利。 商标信息