Spec-Zone.ru › C++

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

Пример

См. также

indirect_result_t
(C++20)
вычисляет результат вызова вызываемого объекта с результатом разыменования некоторого набора типов indirectly_readable
(шаблон псевдонима)
projected
(C++20)
вспомогательный шаблон для задания ограничений алгоритмов, принимающих проекции
(шаблон класса)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/iterator/projected_value_t

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API