名前付き要件: AssociativeContainer
提供: cppreference.com
AssociativeContainer はキーを基にオブジェクトの高速な検索を提供する順序付きの Container です。
要件
凡例 | |
X
|
コンテナの型 |
a
|
X 型の値
|
a2
|
X と互換性のあるノードハンドルを持つ Y 型の値
|
b
|
X 型の値 (const かもしれない)
|
u
|
適当な変数の名前 |
a_uniq
|
X が一意なキーをサポートするときの X 型の値
|
a_eq
|
X が複数のキーをサポートするときの X 型の値
|
a_tran
|
型 X::key_compare::is_transparent が存在するときの X 型の値 (const かもしれない)
|
i, j
|
有効な範囲を示し、X::value_type に暗黙に変換可能な要素を参照する LegacyInputIterator
|
p
|
a への有効な const なイテレータ
|
q
|
a への有効な逆参照可能な const へのイテレータ
|
r
|
a への有効な逆参照可能なイテレータ
|
q1, q2
|
a 内の有効な範囲を示す const なイテレータ
|
il
|
std::initializer_list<value_type> 型のオブジェクト |
t
|
X::value_type 型の値
|
k
|
X::key_type 型の値
|
c
|
X::key_compare 型の値 (const かもしれない)
|
kl
|
a 内の e および e のキー値 r を用いて c(r,kl) について a が分割されているような値
|
ku
|
!c(ku, r) について a が分割されているような値
|
ke
|
暗黙に !c(ke, r) を示す c(r, ke) を用いて c(r, ke) および !c(ke, r) について a が分割されているような値
|
A
|
X によって使用される記憶域のアロケータ、または std::allocator_type<X::value_type>
|
m
|
A に変換可能な型のアロケータ
|
nh
|
X::node_type 型の非 const な右辺値
|
| 式 | 戻り値の型 | 事前/要件 | 事後/効果 | 計算量 |
|---|---|---|---|---|
X::key_type |
Key |
Key が Destructible である |
コンパイル時 | |
X::key_compare |
Compare |
コンパイル時 | ||
X::value_compare |
BinaryPredicate を満たす型 | std::set および std::multiset の場合は key_compare、 std::map および std::multimap の場合は Key の順序関係 |
コンパイル時 | |
X(c), X a(c); |
key_compare が CopyConstructible である |
c のコピーを key_comp として用いて空のコンテナを構築する。 |
定数時間 | |
X(), X a; |
key_compare が CopyConstructible である |
Compare() を key_comp として用いて空のコンテナを構築する。 |
定数時間 | |
X(i, j, c), X a(i, j, c); |
key_compare が CopyConstructible であり、 value_type が X に *i から EmplaceConstructible である |
c のコピーを key_comp として用いて空のコンテナを構築し、範囲 [i; j) からすべての要素を挿入する。 |
一般的には N log N、 [i, j) がソートされている場合は N (ただし N は std::distance(i, j) です)
| |
X(i, j), X a(i, j); |
key_compare が CopyConstructible であり、 value_type が X に *i から EmplaceConstructible である |
Compare() を key_comp として用いて空のコンテナを構築し、範囲 [i; j) からすべての要素を挿入する。 |
一般的には N log N、 [i, j) が value_comp() に従ってソートされている場合は N (ただし N は std::distance(i, j) です)
| |
X(il); |
X(il.begin(), il.end()); と同等 |
X(il.begin(), il.end()); と同等
| ||
a = il |
X& |
T が X に CopyInsertable であり、さらに CopyAssignable である |
範囲 [il.begin(), il.end()) を a に代入する。 代入されなかった a の要素は破棄される。 |
一般的に N log N、 [il.begin(), il.end()) が value_comp() に従ってソートされている場合は N (ただし N は il.size() + a.size() です)
|
a.key_comp() |
X::key_compare |
a の構築に使用された比較オブジェクトが返される。 |
定数時間 | |
a.value_comp() |
X::value_compare |
比較オブジェクトから構築された X::value_compare 型のオブジェクトが返される。 |
定数時間 |
std::map または std::multimap のいずれかである連想コンテナ X は、 T が Destructible であり計算量がコンパイル時である要件を持つ、結果の型が T の式 X::mapped_type を追加でサポートします。
| This section is incomplete Reason: Finish requirements. |
標準ライブラリの連想コンテナ
| 一意なキーによってソートされた、キーのコレクション (クラステンプレート) | |
| キーによってソートされた、キーのコレクション (クラステンプレート) | |
| 一意なキーによってソートされた、キー値ペアのコレクション (クラステンプレート) | |
| キーによってソートされた、キー値ペアのコレクション (クラステンプレート) |