binary_negate<AdaptableBinaryPredicate>
说明
Binary_negate是一个函数对象适配器:它是一个可定制二元谓词,表示某些其他可定制二元谓词的逻辑否定。即如果f是一个类的对象binary_negate<AdaptableBinaryPredicate>,则存在一个对象pred属于类AdaptableBinaryPredicate,这样f(x,y)总是返回与!pred(x,y)相同的值。很少有理由直接构建一个binary_negate;它几乎总是更容易使用辅助函数not2.
示例
找到字符串中既不是' '也不是'\n'.
char str[MAXLEN];
...
const char* wptr = find_if(str, str + MAXLEN,
compose2(not2(logical_or<bool>()),
bind2nd(equal_to<char>(), ' '),
bind2nd(equal_to<char>(), '\n')));
assert(wptr == str + MAXLEN || !(*wptr == ' ' || *wptr == '\n'));
的第一个字符
定义
模板参数 |
说明 |
参数 |
AdaptableBinaryPredicate
|
默认值binary_negate函数对象类型,用于逻辑否定。 |
|
模型
Adaptable Binary Predicate
类型要求
AdaptableBinaryPredicate必须是Adaptable Binary Predicate的一个模型。公共基类
binary_function<AdaptableBinaryPredicate::first_argument_type,
AdaptableBinaryPredicate::second_argument_type,
bool>
成员
新成员
这些成员未在Adaptable Binary Predicate要求中定义,但特定于binary_negate.
成员 |
说明 |
binary_negate(const AdaptableBinaryPredicate& pred)
|
构造函数。创建一个binary_negate<AdaptableBinaryPredicate>,其基础谓词是pred.
|
template <class AdaptableBinaryPredicate>
binary_negate<AdaptableBinaryPredicate>
not2(const AdaptableBinaryPredicate& pred);
|
如果p为类型AdaptableBinaryPredicate,则not2(p)等同于binary_negate<AdaptableBinaryPredicate>(p),但更方便。这是一个全局函数,而不是成员函数。 |
说明
另请参见
函数对象概览、AdaptablePredicate、Predicate、unary_negate, unary_compose, binary_compose
版权所有 © 1999 Silicon Graphics, Inc.保留所有权利。
TrademarkInformation