std::experimental::ranges::identity

来自cppreference.com
< cpp‎ | experimental‎ | ranges
 
 
技术规范
文件系统库 (文件系统 TS)
库基础 (库基础 TS)
库基础 2 (库基础 TS v2)
库基础 3 (库基础 TS v3)
并行扩展 (并行 TS)
并行扩展 2 (并行 TS v2)
并发扩展 (并发 TS)
并发扩展 2 (并发 TS v2)
概念 (概念 TS)
范围 (范围 TS)
反射 (反射 TS)
数学特殊函数 (特殊函数 TR)
 
 
通用工具库
工具组件
函数对象
identity
元编程与类型特性
有标签的 pair 与 tuple
                          
标签说明符
                                      
                          
 
struct identity;
(范围 TS)

ranges::identity 是函数对象类型,其 operator() 返回不更改的参数。所有范围 TS 算法以之为默认投影。

成员类型

成员类型 定义
is_transparent /* 未指定 */

成员函数

operator()
返回不更改的参数
(公开成员函数)

std::experimental::ranges::identity::operator()

template< class T>
constexpr T&& operator()( T&& t ) const noexcept;

返回 std::forward<T>(t)

参数

t - 要返回的参数

返回值

std::forward<T>(t)

注意

成员类型 is_transparent 指示调用方,此函数对象是一个通透函数对象:它接受任意类型的参数并使用完美转发,这在将函数对象在多种语境中,或以右值参数使用时,避免不需要的复制和转换。特别是,诸如 std::set::findstd::set::lower_bound 的模板函数在其 Compare 类型上使用此类型。

示例