これらの操作はテーブル全体に影響します。同じテーブルでこれらの操作を同時に呼び出さないでください。
| メンバー | 説明 |
|---|---|
| concurrent_hash_map( const allocator_type& a = allocator_type() ) |
空のテーブルを構築します。 |
| concurrent_hash_map( size_type n, const allocator_type& a = allocator_type() ) |
少なくとも n 項目のバケットが割り当て済みの空のテーブルを構築します。 注一般に、バケットでのスレッドの競合は、バケットの数に反比例します。 メモリー消費量に問題がなく、P スレッドが concurrent_hash_map にアクセスする場合、n>=4P に設定します。 |
| concurrent_hash_map( const concurrent_hash_map& table, const allocator_type& a = allocator_type() ) |
テーブルをコピーします。コピーするテーブルには、その上で同時に実行する const 操作が含まれます。 |
| template<typename InputIterator> concurrent_hash_map( InputIterator first, InputIterator last, const allocator_type& a = allocator_type() ) |
半開区間 [first,last) のイテレーターの要素のコピーを含むテーブルを構築します。 |
| ~concurrent_hash_map() |
clear() を呼び出します。 このメソッドを、同じ concurrent_hash_map のほかのメソッドと同時に実行することは安全ではありません。 |
| concurrent_hash_map& operator= ( concurrent_hash_map& source ) |
ソーステーブルとデスティネーション・テーブル (this) が別の場合、デスティネーション・テーブルを消去して、ソーステーブルからデスティネーション・テーブルにすべてのキー/値ペアをコピーします。 その他の場合は、何もしません。 戻り値: デスティネーション・テーブルへの参照。 |
| void swap( concurrent_hash_map& table ) |
this と table のコンテンツおよび割り当てをスワップします。 |
| void rehash( size_type n=0 ) |
テーブルは内部でバケットに分割されます。 rehash メソッドは、将来のルックアップのパフォーマンスを向上するようにこれらの内部バケットを認識します。 n>0 で n が現在のバケット数よりも大きい場合、内部バケットの数を n に増やします。 警告現在の実装は、バケット数を減らすことはありません。 将来の実装では、n が現在のバケット数よりも小さい場合、バケットの数を減らせるようになるかもしれません。 注バケット数に対する項目数の比率は、テーブルで使用する時間と空間に影響します。 比率が高いと、空間は抑えることができますが、時間がかかります。 比率が低いとその逆になります。デフォルトの比率は、平均でバケットごとに 0.5 ~ 1 項目です。 |
| void clear() |
テーブルからすべてのキー/値ペアを消去します。 キーのハッシュまたは比較を行いません。 TBB_USE_PERFORMANCE_WARNINGS が非ゼロで、ハッシュのランダム性がパフォーマンスに大幅に影響するほど低い場合、パフォーマンスの警告を出力します。 |
| allocator_type get_allocator() const |
戻り値: テーブルの構築に使用されるアロケーターのコピー。 |