2. 交换
void swap(concurrent_hash_map& other);
作用:交换 *this 和 other 的内容。
注意:不支持与其他操作并行执行。
3. 大小和容量
void swap(concurrent_hash_map& other);
作用:返回容器中元素的数量。
注意:在并发插入或删除的情况下,返回的结果可能与容器内实际的数量存在差异。
作用:如果容器为空,返回 True,否则返回 False。
注意:在并发插入或删除的情况下,返回的结果可能与容器内实际的数量存在差异。
size_type max_size() const;
作用:容器所能容纳的最大元素数。
4. 查找
bool find( const_accessor& result, const key_type& key ) const;
bool find( accessor& result, const key_type& key );
template <typename K> bool find( const_accessor& result, const K& key ) const;
template <typename K> bool find( accessor& result, const K& key );
作用:如果找到 key 对应的元素,返回 True,否则返回 False。
注意:可以与 insert、emplace、erase 并行执行。
5. 查询
size_type count( const key_type& key ) const;
template <typename K> size_type count( const K& key ) const;
作用:如果存在 key 对应的元素,返回 1,否则返回 0。
6. 插入
bool insert( const_accessor& result, const key_type& key );
bool insert( accessor& result, const key_type& key );
template <typename K> bool insert( const_accessor& result, const K& key );
template <typename K> bool insert( accessor& result, const K& key );
bool insert( const_accessor& result, const value_type& value );
bool insert( accessor& result, const value_type& value );
作用:往容器中插入元素,如果插入成功,返回 True,否则返回 False。
注意:可以与 find、emplace、erase 并行执行。
bool insert( const value_type& value );
作用:尝试将值插入容器中,如果插入成功,返回 True,否则返回 False。
注意:可以与 find、emplace、erase 并行执行。
bool insert( value_type&& value );
作用:尝试使用move语义将值插入容器,如果插入成功,返回True,否则返回False。
注意:可以与find、emplace、erase并行执行。
7. 存放
template <typename... Args> bool emplace( const_accessor& result, Args&&... args );
template <typename... Args> bool emplace( accessor& result, Args&&... args );
template <typename... Args> bool emplace( Args&&... args );
作用:尝试将值插入容器中,如果插入成功,返回 True,否则返回 False。
注意:可以与 find、insert、erase 并行执行。
8. 擦除
bool erase( const key_type& key );
template <typename K> bool erase( const K& key );
作用:如果存在 key 对应的元素,则将其从容器中移除。
注意:可以与 find、insert、emplace 并行执行。
bool erase( const_accessor& item_accessor );
bool erase( accessor& item_accessor );
作用:从容器中移除访问器所指定的元素。如果元素被当前线程移除,则返回 True;如果元素被另一个线程移除,则返回 False。
注意:可以与 find、insert、emplace 并行执行。
9. 迭代器
iterator begin();
const_iterator begin() const;
const_iterator cbegin() const;
iterator end();
const_iterator end() const;
const_iterator cend() const;
作用:指向容器中第一个(最后一个)元素的迭代器。
注意:不支持与其他操作并行执行。