Namespaces
Variants

std::experimental::propagate_const<T>:: swap

From cppreference.net
constexpr void swap ( propagate_const & pt ) noexcept ( /* 见下文 */ ) ;
(库基础技术规范 v2)

将包装的指针与 pt 的指针进行交换。令 t_ 表示作为包装指针类对象的私有数据成员,则此函数等效于 swap ( t_, pt. t_ ) ,其中对 swap 的重载解析将在 std::swap 与通过常规查找规则找到的任何声明之间进行,具体如 Swappable 中所述。

T 的左值不满足 可交换 要求,则行为未定义。

参数

pt - 另一个用于交换的 propagate_const 对象

异常

noexcept 规范:
noexcept ( noexcept ( swap ( t_, pt. t_ ) ) )
在异常规范中对标识符 swap 的查找会找到上述描述的重载版本,而不会找到成员函数本身,这使得该异常规范等价于 C++17 的 std::is_nothrow_swappable
(库基础技术规范 v2)
noexcept 规范:
(库基础技术规范 v3)

缺陷报告

以下行为变更缺陷报告被追溯应用于先前发布的C++标准。

缺陷报告 适用范围 发布时行为 修正后行为
LWG 3413 LFTSv2 异常规范格式不正确 修正为格式正确