std::ranges::dangling

< cpp‎ | ranges
定义于头文件 <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 的迭代器类型或子范围类型
(别名模板)