std::projected_value_t
Определён в заголовочном файле <iterator> | ||
|---|---|---|
template< std::indirectly_readable I,
std::indirectly_regular_unary_invocable<I> Proj >
using projected_value_t =
std::remove_cvref_t<std::invoke_result_t<Proj&, std::iter_value_t<I>&>>;
| (начиная с C++26) |
Шаблон псевдонима projected_value_t получает тип значения, удаляя любую ссылку и самые внешние cv-квалификаторы типа результата применения Proj к std::iter_value_t<I>&.
projected_value_t используется для определения типа значения по умолчанию в некоторых алгоритмах, например ranges::contains.
Параметры шаблона
| I | - | тип, который можно читать косвенно |
| Proj | - | проекция, применяемая к lvalue-ссылке на тип значения I |
Примечания
| Макрос проверки поддержки возможности | Значение | Стандарт | Возможность |
|---|---|---|---|
__cpp_lib_algorithm_default_value_type | 202403L | (C++26) | тип шаблона по умолчанию для значений алгоритмов, использующих std::projected_value_t |
Пример
См. также
|
(C++20) | вычисляет результат вызова вызываемого объекта с результатом разыменования некоторого набора типов indirectly_readable(шаблон псевдонима) |
|
(C++20) | вспомогательный шаблон для задания ограничений алгоритмов, принимающих проекции (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/iterator/projected_value_t