std::experimental::ranges::dangling, std::experimental::ranges::safe_iterator_t
来自 cppreference.com
< cpp | experimental | ranges
定义在头文件 <experimental/ranges/iterator> 中 |
||
template< CopyConstructible T > class dangling { |
(范围 TS) | |
template< Range R > using safe_iterator_t = std::conditional_t<std::is_lvalue_reference<R>::value, |
(范围 TS) | |
类模板 dangling
是对对象的简单包装,用于指示包装的对象可能是悬空的,也就是说,它引用了另一个对象的寿命可能已结束的对象。
别名模板 safe_iterator_t
返回 R
的迭代器类型,如果范围是右值范围(如 R
不是左值引用类型所示),则将其包装在 dangling
中。
它们由接受右值范围并返回这些范围中的迭代器的范围算法使用。
[编辑] 成员函数
std::experimental::ranges::dangling::dangling
dangling() requires DefaultConstructible<T>(); |
(1) | |
dangling(T t); |
(2) | |
1) 默认构造函数。对包装的对象进行值初始化。
2) 使用
t
初始化包装的对象。请注意,此构造函数定义了从 T
到 dangling<T>
的隐式转换。std::experimental::ranges::dangling::get_unsafe
T get_unsafe() const; |
||
返回包装对象的副本。