7 Concepts library [concepts.lib]

7.2 Header <experimental/ranges/concepts> synopsis [concepts.lib.synopsis]

namespace std { namespace experimental { namespace ranges { inline namespace v1 {
  // [concepts.lib.corelang], core language concepts:
  // [concepts.lib.corelang.same], Same:
  template <class T, class U>
  concept bool Same = see below;

  // [concepts.lib.corelang.derived], DerivedFrom:
  template <class T, class U>
  concept bool DerivedFrom = see below;

  // [concepts.lib.corelang.convertibleto], ConvertibleTo:
  template <class T, class U>
  concept bool ConvertibleTo = see below;

  // [concepts.lib.corelang.commonref], CommonReference:
  template <class T, class U>
  concept bool CommonReference = see below;

  // [concepts.lib.corelang.common], Common:
  template <class T, class U>
  concept bool Common = see below;

  // [concepts.lib.corelang.integral], Integral:
  template <class T>
  concept bool Integral = see below;

  // [concepts.lib.corelang.signedintegral], SignedIntegral:
  template <class T>
  concept bool SignedIntegral = see below;

  // [concepts.lib.corelang.unsignedintegral], UnsignedIntegral:
  template <class T>
  concept bool UnsignedIntegral = see below;

  // [concepts.lib.corelang.assignable], Assignable:
  template <class T, class U>
  concept bool Assignable = see below;

  // [concepts.lib.corelang.swappable], Swappable:
  template <class T>
  concept bool Swappable = see below;

  template <class T, class U>
  concept bool SwappableWith = see below;

  // [concepts.lib.corelang.destructible], Destructible:
  template <class T>
  concept bool Destructible = see below;

  // [concepts.lib.corelang.constructible], Constructible:
  template <class T, class... Args>
  concept bool Constructible = see below;

  // [concepts.lib.corelang.defaultconstructible], DefaultConstructible:
  template <class T>
  concept bool DefaultConstructible = see below;

  // [concepts.lib.corelang.moveconstructible], MoveConstructible:
  template <class T>
  concept bool MoveConstructible = see below;

  // [concepts.lib.corelang.copyconstructible], CopyConstructible:
  template <class T>
  concept bool CopyConstructible = see below;

  // [concepts.lib.compare], comparison concepts:
  // [concepts.lib.compare.boolean], Boolean:
  template <class B>
  concept bool Boolean = see below;

  // [concepts.lib.compare.equalitycomparable], EqualityComparable:
  template <class T, class U>
  concept bool WeaklyEqualityComparableWith = see below;

  template <class T>
  concept bool EqualityComparable = see below;

  template <class T, class U>
  concept bool EqualityComparableWith = see below;

  // [concepts.lib.compare.stricttotallyordered], StrictTotallyOrdered:
  template <class T>
  concept bool StrictTotallyOrdered = see below;

  template <class T, class U>
  concept bool StrictTotallyOrderedWith = see below;

  // [concepts.lib.object], object concepts:
  // [concepts.lib.object.movable], Movable:
  template <class T>
  concept bool Movable = see below;

  // [concepts.lib.object.copyable], Copyable:
  template <class T>
  concept bool Copyable = see below;

  // [concepts.lib.object.semiregular], Semiregular:
  template <class T>
  concept bool Semiregular = see below;

  // [concepts.lib.object.regular], Regular:
  template <class T>
  concept bool Regular = see below;

  // [concepts.lib.callable], callable concepts:
  // [concepts.lib.callable.invocable], Invocable:
  template <class F, class... Args>
  concept bool Invocable = see below;

  // [concepts.lib.callable.regularinvocable], RegularInvocable:
  template <class F, class... Args>
  concept bool RegularInvocable = see below;

  // [concepts.lib.callable.predicate], Predicate:
  template <class F, class... Args>
  concept bool Predicate = see below;

  // [concepts.lib.callable.relation], Relation:
  template <class R, class T, class U>
  concept bool Relation = see below;

  // [concepts.lib.callable.strictweakorder], StrictWeakOrder:
  template <class R, class T, class U>
  concept bool StrictWeakOrder = see below;
}}}}