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 */; }}}}