名稱空間
變體
操作

std::experimental::ranges::dangling, std::experimental::ranges::safe_iterator_t

來自 cppreference.com
< cpp‎ | experimental‎ | ranges
 
 
實驗性
技術規範
檔案系統庫 (檔案系統 TS)
庫基礎 (庫基礎 TS)
庫基礎 2 (庫基礎 TS v2)
庫基礎 3 (庫基礎 TS v3)
並行性擴充套件 (並行性 TS)
並行性擴充套件 2 (並行性 TS v2)
併發性擴充套件 (併發性 TS)
併發擴充套件 2 (concurrency TS v2)
概念 (概念 TS)
範圍 (範圍 TS)
反射 (反射 TS)
數學特殊函式 (特殊函式 TR)
實驗性非 TS
模式匹配
線性代數
std::execution
契約
2D 圖形
 
 
迭代器庫
迭代器概念
間接可呼叫概念
                                                  
                                                  
                                                  
常用演算法要求
                                                  
概念工具
迭代器工具與操作
迭代器特徵
迭代器介面卡
danglingborrowed_iterator_t
流迭代器
 
定義於標頭檔案 <experimental/ranges/iterator>
template< CopyConstructible T >

class dangling {
public:
    dangling() requires DefaultConstructible<T>();
    dangling(T t);
    T get_unsafe() const;

};
(ranges TS)
template< Range R >

using safe_iterator_t = std::conditional_t<std::is_lvalue_reference<R>::value,
                                           ranges::iterator_t<R>,

                                           ranges::dangling<ranges::iterator_t<R>>;
(ranges 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 初始化被包裝物件。請注意,此建構函式定義了從 Tdangling<T> 的隱式轉換。

std::experimental::ranges::dangling::get_unsafe

T get_unsafe() const;

返回被包裝物件的副本。