名前空間
変種
操作

標準ライブラリヘッダ <concepts>

提供: cppreference.com
< cpp‎ | header
 
 
 

このヘッダはコンセプトライブラリの一部です。

目次

コンセプト

コア言語のコンセプト
(C++20)
型が別の型と同じであることを指定します
(コンセプト) [edit]
型が別の型から派生していることを指定します
(コンセプト) [edit]
型が別の型に暗黙に変換可能であることを指定します
(コンセプト) [edit]
2つの型が共通の参照型を共有することを指定します
(コンセプト) [edit]
(C++20)
2つの型が共通の型を共有することを指定します
(コンセプト) [edit]
(C++20)
型が整数型であることを指定します
(コンセプト) [edit]
型が符号付きの整数型であることを指定します
(コンセプト) [edit]
型が符号なしの整数型であることを指定します
(コンセプト) [edit]
型が別の型から代入可能であることを指定します
(コンセプト) [edit]
型がスワップ可能であること、または2つの型がお互いにスワップ可能であることを指定します
(コンセプト) [edit]
その型のオブジェクトが破棄可能であることを指定します
(コンセプト) [edit]
その型の変数が与えられた引数のセットから構築可能または束縛可能であることを指定します
(コンセプト) [edit]
その型のオブジェクトがデフォルト構築可能であることを指定します
(コンセプト) [edit]
その型のオブジェクトがムーブ構築可能であることを指定します
(コンセプト) [edit]
その型のオブジェクトがコピー構築およびムーブ構築可能であることを指定します
(コンセプト) [edit]
比較のコンセプト
(C++20)
型がブーリアンの文脈で使用可能であることを指定します
(コンセプト) [edit]
演算子 == が同等関係であることを指定します
(コンセプト) [edit]
型の比較演算子が全順序を与えることを指定します
(コンセプト) [edit]
オブジェクトのコンセプト
(C++20)
その型のオブジェクトがムーブおよびスワップ可能であることを指定します
(コンセプト) [edit]
(C++20)
その型のオブジェクトがコピー、ムーブ、およびスワップ可能であることを指定します
(コンセプト) [edit]
その型のオブジェクトがコピー、ムーブ、スワップ、およびデフォルト構築可能であることを指定します
(コンセプト) [edit]
(C++20)
型が普通である、つまり Semiregular かつ EqualityComparable であることを指定します
(コンセプト) [edit]
呼び出し可能なコンセプト
呼び出し可能な型が与えられた引数型のセットで呼び出せることを指定します
(コンセプト) [edit]
(C++20)
呼び出し可能な型がブーリアンの述語であることを指定します
(コンセプト) [edit]
(C++20)
呼び出し可能な型が二項関係であることを指定します
(コンセプト) [edit]
Relation が厳密な弱い順序を課すことを指定します
(コンセプト) [edit]


[編集] 概要

namespace std { 
 
    // Core language concepts
 
    template <class T, class U>
    concept Same = /* see description */;
 
    template <class Derived, class Base>
    concept DerivedFrom = /* see description */;
 
    template <class From, class To>
    concept ConvertibleTo = /* see description */;
 
    template <class T, class U>
    concept CommonReference = /* see description */;
 
    template <class T, class U>
    concept Common = /* see description */;
 
    template <class T>
    concept Integral = /* see description */;
 
    template <class T>
    concept SignedIntegral = /* see description */;
 
    template <class T>
    concept UnsignedIntegral = /* see description */;
 
    template <class LHS, class RHS>
    concept Assignable = /* see description */;
 
    template <class T>
    concept Swappable = /* see description */;
 
    template <class T, class U>
    concept SwappableWith = /* see description */;
 
    template <class T>
    concept Destructible = /* see description */;
 
    template <class T, class... Args>
    concept Constructible = /* see description */;
 
    template <class T>
    concept DefaultConstructible = /* see description */;
 
    template <class T>
    concept MoveConstructible = /* see description */;
 
    template <class T>
    concept CopyConstructible = /* see description */;
 
    // Comparison concepts
 
    template <class B>
    concept Boolean = /* see description */;
 
    template <class T>
    concept EqualityComparable = /* see description */;
    template <class T, class U>
    concept EqualityComparableWith = /* see description */;
 
    template <class T>
    concept StrictTotallyOrdered = /* see description */;
    template <class T, class U>
    concept StrictTotallyOrderedWith = /* see description */;
 
    // Object concepts
 
    template <class T>
    concept Movable = /* see description */;
 
    template <class T>
    concept Copyable = /* see description */;
 
    template <class T>
    concept Semiregular = /* see description */;
 
    template <class T>
    concept Regular = /* see description */;
 
    // Callable concepts
 
    template <class F, class... Args>
    concept Invocable = /* see description */;
 
    template <class F, class... Args>
    concept RegularInvocable = /* see description */;
 
    template <class F, class... Args>
    concept Predicate = /* see description */;
 
    template <class R, class T, class U>
    concept Relation = /* see description */;
 
    template <class R, class T, class U>
    concept StrictWeakOrder = /* see description */;
}