std:: projected_value_t

From cppreference.com
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
projected_value_t
(C++26)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
Defined in header <iterator>
(since C++26)

The alias template projected_value_t obtains the value type by stripping any reference and its topmost cv-qualifiers of the result type of applying Proj to std:: iter_value_t < I > & .

projected_value_t is used to determine the default value type in some algorithms such as ranges:: contains .

Template parameters

I - an indirectly readable type
Proj - projection applied to an lvalue reference to value type of I

Notes

Feature-test macro Value Std Feature
__cpp_lib_algorithm_default_value_type 202403L (C++26) default template type for algorithm values using std::projected_value_t

Example

See also

computes the result of invoking a callable object on the result of dereferencing some set of indirectly_readable types
(alias template)
(C++20)
helper template for specifying the constraints on algorithms that accept projections
(class template)