Experimental library header <experimental/ranges/concepts> - cppreference.com (original) (raw)

This header is part of the ranges library.

Contents

[edit] Core language concepts

Defined in namespace std::experimental::ranges
Same specifies that a type is the same as another type (concept) [edit]
DerivedFrom specifies that a type is derived from another type (concept) [edit]
ConvertibleTo specifies that a type is implicitly convertible to another type (concept) [edit]
CommonReference specifies that two types share a common reference type (concept) [edit]
Common specifies that two types share a common type (concept) [edit]
Integral specifies that a type is an integral type (concept) [edit]
SignedIntegral specifies that a type is an integral type that is signed (concept) [edit]
UnsignedIntegral specifies that a type is an integral type that is not signed (concept) [edit]
Assignable specifies that a type is assignable from another type (concept) [edit]
SwappableSwappableWith specifies that a type can be swapped or that two types can be swapped with each other (concept) [edit]

[edit] Comparison concepts

[edit] Object concepts

Defined in namespace std::experimental::ranges
Destructible specifies that an object of the type can be destroyed (concept) [edit]
Constructible specifies that a variable of the type can be constructed from or bound to a set of argument types (concept) [edit]
DefaultConstructible specifies that an object of a type can be default constructed (concept) [edit]
MoveConstructible specifies that an object of a type can be move constructed (concept) [edit]
CopyConstructible specifies that an object of a type can be copy constructed and move constructed (concept) [edit]
Movable specifies that an object of a type can be moved and swapped (concept) [edit]
Copyable specifies that an object of a type can be copied, moved, and swapped (concept) [edit]
Semiregular specifies that an object of a type can be copied, moved, swapped, and default constructed (concept) [edit]
Regular specifies that a type is regular, that is, it is both Semiregular and EqualityComparable (concept) [edit]

[edit] Callable concepts

[edit] 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 concept bool Integral = / see definition /;   template concept bool SignedIntegral = / see definition /;   template concept bool UnsignedIntegral = / see definition /;   template <class T, class U> concept bool Assignable = / see definition /;   template concept bool Swappable = / see definition /;   template <class T, class U> concept bool SwappableWith = / see definition /;   template concept bool Destructible = / see definition /;   template <class T, class... Args> concept bool Constructible = / see definition /;   template concept bool DefaultConstructible = / see definition /;   template concept bool MoveConstructible = / see definition /;   template concept bool CopyConstructible = / see definition /;   template concept bool Boolean = / see definition /;   template <class T, class U> concept bool WeaklyEqualityComparableWith = / see definition /;   template concept bool EqualityComparable = / see definition /;   template <class T, class U> concept bool EqualityComparableWith = / see definition /;   template concept bool StrictTotallyOrdered = / see definition /;   template <class T, class U> concept bool StrictTotallyOrderedWith = / see definition /;   template concept bool Movable = / see definition /;   template concept bool Copyable = / see definition /;   template concept bool Semiregular = / see definition /;   template 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 */;   }}}}