Namensräume
Varianten
Aktionen

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

Von cppreference.com
< cpp‎ | experimental‎ | ranges
 
 
 
 
Iterator-Bibliothek
Iterator-Konzepte
Indirekte aufrufbare Konzepte
                                                  
                                                  
                                                  
Gemeinsame Algorithmus-Anforderungen
                                                  
Konzept-Dienstprogramme
Iterator-Dienstprogramme und -Operationen
Iterator-Traits
Iterator-Adapter
danglingborrowed_iterator_t
Stream-Iteratoren
 
Definiert in Header <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)

Die Klassenvorlage dangling ist ein einfacher Wrapper um ein Objekt, um anzuzeigen, dass das umschlossene Objekt möglicherweise dangling ist, d. h. es verweist auf ein anderes Objekt, dessen Lebensdauer möglicherweise beendet wurde.

Die Aliasvorlage safe_iterator_t gibt den Iteratortyp von R zurück, verpackt in dangling, wenn der Bereich ein R-Wert-Bereich war (wie durch R als kein L-Wert-Referenztyp angezeigt).

Sie werden von Bereichsalgorithmen verwendet, die R-Wert-Bereiche akzeptieren und darauf verweisende Iteratoren zurückgeben.

[bearbeiten] Memberfunktionen

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

dangling() requires DefaultConstructible<T>();
(1)
dangling(T t);
(2)
1) Standardkonstruktor. Wertinitialisiert das umschlossene Objekt.
2) Initialisiert das umschlossene Objekt mit t. Beachten Sie, dass dieser Konstruktor eine implizite Konvertierung von T zu dangling<T> definiert.

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

T get_unsafe() const;

Gibt eine Kopie des umschlossenen Objekts zurück.