Experimentelle Bibliotheks-Header <experimental/ranges/concepts>
Von cppreference.com
< cpp | header | experimental
Dieser Header ist Teil der ranges Bibliothek.
Inhalt |
[bearbeiten] Kernsprachen-Konzepte
| Definiert im Namespace
std::experimental::ranges | |
| gibt an, dass ein Typ identisch mit einem anderen Typ ist (concept) | |
| gibt an, dass ein Typ von einem anderen Typ abgeleitet ist (concept) | |
| gibt an, dass ein Typ implizit in einen anderen Typ konvertierbar ist (concept) | |
| gibt an, dass zwei Typen einen gemeinsamen Referenztyp haben (concept) | |
| gibt an, dass zwei Typen einen gemeinsamen Typ haben (concept) | |
| gibt an, dass ein Typ ein ganzzahliger Typ ist (concept) | |
| gibt an, dass ein Typ ein vorzeichenbehafteter ganzzahliger Typ ist (concept) | |
| spezifiziert, dass ein Typ ein ganzzahliger Typ ist, der nicht vorzeichenbehaftet ist (concept) | |
| gibt an, dass ein Typ von einem anderen Typ zuweisbar ist (concept) | |
| gibt an, dass ein Typ vertauscht werden kann oder dass zwei Typen miteinander vertauscht werden können (concept) | |
[bearbeiten] Vergleichskonzepte
| Definiert im Namespace
std::experimental::ranges | |
| gibt an, dass ein Typ in booleschen Kontexten verwendet werden kann (concept) | |
| spezifiziert, dass zwei Typen mittels der Operatoren == und != auf Gleichheit verglichen werden können (concept) | |
| gibt an, dass der Operator == eine Äquivalenzrelation ist (concept) | |
| gibt an, dass die Vergleichsoperatoren des Typs eine Totalordnung ergeben (concept) | |
[bearbeiten] Objektkonzepte
| Definiert im Namespace
std::experimental::ranges | |
| spezifiziert, dass ein Objekt des Typs zerstört werden kann (concept) | |
| gibt an, dass eine Variable des Typs aus einer Reihe von Argumenttypen konstruiert oder an sie gebunden werden kann (concept) | |
| gibt an, dass ein Objekt eines Typs standardkonstruiert werden kann (concept) | |
| gibt an, dass ein Objekt eines Typs per Move konstruiert werden kann (concept) | |
| gibt an, dass ein Objekt eines Typs kopierkonstruiert und per Move konstruiert werden kann (concept) | |
| gibt an, dass ein Objekt eines Typs verschoben und vertauscht werden kann (concept) | |
| gibt an, dass ein Objekt eines Typs kopiert, verschoben und vertauscht werden kann (concept) | |
| gibt an, dass ein Objekt eines Typs kopiert, verschoben, vertauscht und standardkonstruiert werden kann (concept) | |
spezifiziert, dass ein Typ regulär ist, d.h. er ist sowohl Semiregular als auch EqualityComparable(concept) | |
[bearbeiten] Aufrufbare Konzepte
| Definiert im Namespace
std::experimental::ranges | |
| gibt an, dass ein aufrufbarer Typ mit einem gegebenen Satz von Argumenttypen aufgerufen werden kann (concept) | |
| gibt an, dass ein aufrufbarer Typ ein boolesches Prädikat ist (concept) | |
| gibt an, dass ein aufrufbarer Typ eine binäre Relation ist (concept) | |
spezifiziert, dass eine Relation eine strikte schwache Ordnung erzwingt(concept) | |
[bearbeiten] Synopsis
namespace std { namespace experimental { namespace ranges { inline namespace v1 { template <class T, class U> concept bool Same = /* see definition */; template <class T, class U> concept bool DerivedFrom = /* see definition */; template <class T, class U> concept bool ConvertibleTo = /* see definition */; template <class T, class U> concept bool CommonReference = /* see definition */; template <class T, class U> concept bool Common = /* see definition */; template <class T> concept bool Integral = /* see definition */; template <class T> concept bool SignedIntegral = /* see definition */; template <class T> concept bool UnsignedIntegral = /* see definition */; template <class T, class U> concept bool Assignable = /* see definition */; template <class T> concept bool Swappable = /* see definition */; template <class T, class U> concept bool SwappableWith = /* see definition */; template <class T> concept bool Destructible = /* see definition */; template <class T, class... Args> concept bool Constructible = /* see definition */; template <class T> concept bool DefaultConstructible = /* see definition */; template <class T> concept bool MoveConstructible = /* see definition */; template <class T> concept bool CopyConstructible = /* see definition */; template <class B> concept bool Boolean = /* see definition */; template <class T, class U> concept bool WeaklyEqualityComparableWith = /* see definition */; template <class T> concept bool EqualityComparable = /* see definition */; template <class T, class U> concept bool EqualityComparableWith = /* see definition */; template <class T> concept bool StrictTotallyOrdered = /* see definition */; template <class T, class U> concept bool StrictTotallyOrderedWith = /* see definition */; template <class T> concept bool Movable = /* see definition */; template <class T> concept bool Copyable = /* see definition */; template <class T> concept bool Semiregular = /* see definition */; template <class T> concept bool Regular = /* see definition */; template <class F, class... Args> concept bool Invocable = /* see definition */; template <class F, class... Args> concept bool RegularInvocable = /* see definition */; template <class F, class... Args> concept bool Predicate = /* see definition */; template <class R, class T, class U> concept bool Relation = /* see definition */; template <class R, class T, class U> concept bool StrictWeakOrder = /* see definition */; }}}}