std::experimental::ranges::MoveConstructible

来自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)
实验性非 TS 功能特性
模式匹配
线性代数
std::execution
契约
2D 图形
 
 
概念库
核心语言概念
                              
对象概念
MoveConstructible
                              
                              
比较概念
可调用概念
                                        
                              
URNG 概念
 
template<class T >

concept bool MoveConstructible =

    Constructible<T, T>&& ConvertibleTo<T, T>;
(范围 TS)

概念 MoveConstructibleT 为引用类型,或若它是对象类型,其中能在直接和复制初始化语境中从该类型的右值以通常语义构造该类型对象,则得到满足。

更精确而言,若 T 是对象类型,则 MoveConstructible<T> 仅若满足下列条件才得到满足。给定

  • rvT 类型的右值,与
  • u2,等于 rvT 类型的独立对象,

下列为真:

  • 定义 T u = rv; 后,u 等于 u2
  • T{rv} 等于 u2;且
  • T 无 const 限定,则 rv 的结果状态(在上述任一条中求值定义/表达式后)合法且未指定,否则它不更改。

[编辑]参阅

检查类型是否能从右值引用构造
(类模板)[编辑]
close