std::indirect_unary_predicate

来自cppreference.com
< cpp‎ | iterator
 
 
迭代器库
迭代器概念
迭代器原语
算法概念与工具
间接可调用概念
indirect_unary_predicate
(C++20)
常用算法要求
工具
迭代器适配器
流迭代器
迭代器定制点
迭代器操作
(C++11)
(C++11)
范围访问
(C++11)(C++14)
(C++11)(C++14)
(C++17)(C++20)
(C++14)(C++14)
(C++14)(C++14)
(C++17)
(C++17)
 
在标头 <iterator> 定义
template<class F, class I>

concept indirect_unary_predicate =
  std::indirectly_readable<I> &&
  std::copy_constructible<F> &&
  std::predicate<F&, std::iter_value_t<I>&> &&
  std::predicate<F&, std::iter_reference_t<I>> &&

  std::predicate<F&, std::iter_common_reference_t<I>>;
(C++20 起)

概念 indirect_unary_predicate 指定调用作为其参数的一元谓词的算法的要求。此概念与 std::predicate 的关键区别是它被应用到 I 所引用的类型,而非 I 自身。

语义要求

FI 实现 indirect_unary_predicate ,仅若其所蕴含的所有概念均得到实现。