std:: predicate
|
Определено в заголовочном файле
<concepts>
|
||
|
template
<
class
F,
class
...
Args
>
concept predicate
=
|
(начиная с C++20) | |
Концепт
std
::
predicate
<
F, Args...
>
определяет, что
F
является предикатом, принимающим аргументы, чьи типы и категории значений закодированы в
Args...
, то есть он может быть вызван с этими аргументами для получения результата, соответствующего
boolean-testable
.
Обратите внимание, что
regular_invocable
требует, чтобы вызов не изменял ни вызываемый объект, ни аргументы, и был
equality-preserving
.
Сохранение равенства
Выражения, объявленные в requires выражениях концепций стандартной библиотеки, должны быть equality-preserving (если не указано иное).
Ссылки
- Стандарт C++23 (ISO/IEC 14882:2024):
-
-
18.7.4 Концепт
predicate[concept.predicate]
-
18.7.4 Концепт
- Стандарт C++20 (ISO/IEC 14882:2020):
-
-
18.7.4 Концепт
predicate[concept.predicate]
-
18.7.4 Концепт