名前付き要件
提供: cppreference.com
< cpp
このページの名前付き要件は標準ライブラリの期待を定義する C++ 標準の規定文章で使用される名前付き要件です。
これらのいくつかの要件はコンセプト言語機能を用いて C++20 で形式化されています。 それ以前では、ライブラリのテンプレートをインスタンス化する際、これらの要件を満たすテンプレート引数を用いるのはプログラマの責任です。 さもなければ、非常に複雑なコンパイラの診断メッセージを見ることになるかもしれません。
基本 | ||
その型のオブジェクトがデフォルト構築可能であることを指定します (名前付き要件) | ||
(C++11) | その型のオブジェクトが右辺値から構築可能であることを指定します (名前付き要件) | |
その型のオブジェクトが左辺値から構築可能であることを指定します (名前付き要件) | ||
(C++11) | その型のオブジェクトが右辺値から代入可能であることを指定します (名前付き要件) | |
その型のオブジェクトが左辺値から代入可能であることを指定します (名前付き要件) | ||
その型のオブジェクトが破棄可能であることを指定します (名前付き要件) | ||
型の性質 | ||
ノート: 標準はこのサブカテゴリで指定された名前を持つ名前付き要件は定義していません。 これらはコア言語で定義される型カテゴリです。 これらは一貫性のためだけに名前付き要件としてここに含まれています。 | ||
(C++11) | トリビアルなコピー、代入、デストラクタを持つクラス (名前付き要件) | |
(C++11) | トリビアルなコンストラクタ、代入、デストラクタを持つクラス (名前付き要件) | |
(C++11) | 他の標準レイアウトなメンバのみをすべて同じアクセス指定で含む非仮想クラス (名前付き要件) | |
C の struct と互換な POD (Plain Old Data) 構造体 (名前付き要件) | ||
ライブラリ全体 | ||
operator== が同等関係である (名前付き要件) | ||
operator< が狭義弱順序関係である (名前付き要件) | ||
(C++11) | 非修飾の非メンバ関数呼び出し swap() でスワップ可能 (名前付き要件) | |
(C++11) | Swappable な型に逆参照する LegacyIterator (名前付き要件) | |
(C++11) | ヌル値をサポートするポインタライクな型 (名前付き要件) | |
(C++11) | 異なる値の入力に対して同じ出力を生成する確率が低い FunctionObject (名前付き要件) | |
確保情報を持つクラス型 (名前付き要件) | ||
関数呼び出し構文で呼び出せるオブジェクト (名前付き要件) | ||
invoke 操作が定義されている型 (名前付き要件) | ||
1個の引数に対してそれを変更せず bool に変換可能な値を返す FunctionObject (名前付き要件) | ||
2個の引数に対してそれらを変更せず bool に変換可能な値を返す FunctionObject (名前付き要件) | ||
順序関係を確立する BinaryPredicate (名前付き要件) |
コンテナ | |
イテレータを使用した要素アクセスが可能なデータ構造 (名前付き要件) | |
双方向イテレータを使用するコンテナ (名前付き要件) | |
(C++11) | アロケータを使用するコンテナ (名前付き要件) |
要素を線形に格納するコンテナ (名前付き要件) | |
(C++17) | 要素を隣接するメモリアドレスに格納するコンテナ (名前付き要件) |
要素をキーに紐付けて格納するコンテナ (名前付き要件) | |
要素をキーに紐付いたバケットに格納するコンテナ (名前付き要件) | |
コンテナの要素 | |
(C++11) | 未初期化記憶域にデフォルト構築可能な要素 (名前付き要件) |
(C++11) | 未初期化記憶域にコピー構築可能な要素 (名前付き要件) |
(C++11) | 未初期化記憶域にムーブ構築可能な要素 (名前付き要件) |
(C++11) | 未初期化記憶域に構築可能な要素 (名前付き要件) |
(C++11) | アロケータを使用して破棄可能な要素 (名前付き要件) |
イテレータ | |
何らかのデータ構造内のデータにアクセスするための汎用的な概念 (名前付き要件) | |
データを読み込むために使用できるイテレータ (名前付き要件) | |
データを書き込むために使用できるイテレータ (名前付き要件) | |
データを複数回読み込むために使用できるイテレータ (名前付き要件) | |
インクリメントとデクリメントの両方が可能なイテレータ (名前付き要件) | |
定数時間で進めることができるイテレータ (名前付き要件) | |
(C++17) | 隣接して確保された要素を指すイテレータ (名前付き要件) |
(C++20) | 定数式の評価中に使用できるイテレータ (名前付き要件) |
ストリーム入出力関数 | |
先行するホワイトスペースをスキップせず処理した文字を数えるストリーム入力関数 (名前付き要件) | |
先行するホワイトスペースをスキップするストリーム入力関数 (名前付き要件) | |
基本ストリーム出力関数 (名前付き要件) | |
エラー時に failbit をセットしストリームの参照を返すストリーム出力関数 (名前付き要件) | |
乱数生成 | |
(C++11) | 整数のシーケンスを消費し32ビット符号なし値のシーケンスを生成します (名前付き要件) |
(C++11) | 一様分布の符号なし整数乱数を返します (名前付き要件) |
(C++11) | シードによって定義される決定的な UniformRandomBitGenerator (名前付き要件) |
(C++11) | 別の RandomNumberEngine の出力を変換する RandomNumberEngine (名前付き要件) |
(C++11) | 指定された数学的確率密度関数に従って分布する乱数を返します (名前付き要件) |
並行処理 | |
(C++11) | 実行媒体 (すなわちスレッド) に対する排他所有権のセマンティクスを提供します (名前付き要件) |
(C++11) | ロック取得の試行をサポートする BasicLockable (名前付き要件) |
(C++11) | タイムアウト付きロック取得をサポートする Lockable (名前付き要件) |
(C++11) | データ競合と逐次一貫性同期に対して保護する Lockable (名前付き要件) |
(C++11) | データ競合と逐次一貫性同期に対して保護す TimedLockable (名前付き要件) |
(C++17) | 共有所有権のセマンティクスをサポートする Mutex (名前付き要件) |
(C++14) | 共有所有権のセマンティクスをサポートする TimedMutex (名前付き要件) |
その他 | |
(C++11) | 型の性質を記述します (名前付き要件) |
(C++11) | 2つの型の間の関係を記述します (名前付き要件) |
(C++11) | 型の性質を変更します (名前付き要件) |
(C++11) | 時間、時点、および現在の時点を取得する関数を集約します (名前付き要件) |
(C++11) | 例外を投げない Clock (名前付き要件) |
文字型に対する型と関数を定義します (名前付き要件) | |
ビット集合、整数、または列挙型 (名前付き要件) | |
初期化と代入が実質的に同じである型 (名前付き要件) | |
(C++11) | 正規表現ライブラリによって使用される型と関数を定義します (名前付き要件) |
(C++11) | constexpr コンストラクタを持つ型 (名前付き要件) |
This section is incomplete Reason: Any other missing requirement? |