std::ranges::dangling

来自cppreference.com
< cpp‎ | ranges
 
 
范围库
范围访问
范围转换器
(C++23)
范围原语



悬垂迭代器处理
dangling
范围概念
视图

范围工厂
适配器
范围生成器
范围适配器对象
范围适配器闭包对象
辅助项
 
在标头 <ranges> 定义
struct dangling;
(C++20 起)

dangling 是占位类型兼空类类型,与模板别名 ranges::borrowed_iterator_tranges::borrowed_subrange_t 一同使用。

某些通常返回 range 的迭代器或子范围的有制约算法,在接收不实现 borrowed_range 的特定的右值 range 参数时,将取而代之地返回 dangling 以避免潜在返回悬垂的结果。

成员函数

std::ranges::dangling::dangling

constexpr dangling() noexcept = default;
(1)
template<class... Args>
constexpr dangling(Args&&...) noexcept { }
(2)
1) dangling 可平凡默认构造。
2) dangling 能从任意数量及任意非 void 类型的参数构造。构造自身无任何副作用。

换言之,在良构的非聚合初始化中以 dangling 替换类型(例如迭代器类型)后,所得的初始化亦为良构。

示例

参阅

获得塑造 borrowed_range 的迭代器类型或子范围类型
(别名模板)