Cpp-reference显示以下函数模板(以及其他)来自(实验)范围TS:
<jsp:include="header.jsp"/>
模板参数template< ranges::InputIterator I, ranges::Sentinel<I> S,
class Proj = ranges::identity,
ranges::IndirectUnaryPredicate<ranges::projected<I, Proj>> Pred >
bool all_of( I first, S last, Pred pred, Proj proj = Proj{} );
与Proj
组合使用的内容是什么?
答案 0 :(得分:1)
这是一个投射。您可以将它用于&#34;项目&#34;在将它们传递给谓词之前,范围的元素。例如,当您要将谓词应用于std::pair
之类的复杂数据类型时,它很有用,我们要将谓词应用于std::pair::second
。
all_of(range_of_std_pairs, pred, &pair_t::second);
使用谓词pred
对第二个元素检查一系列std :: pair。