NIM 跨平台 C++ SDK
载入中...
搜索中...
未找到
phmap::priv::btree_map_container< Tree > 模板类 参考

#include <btree.h>

类 phmap::priv::btree_map_container< Tree > 继承关系图:
phmap::priv::btree_set_container< Tree > phmap::priv::btree_container< Tree >

Public 类型

using key_type = typename Tree::key_type
 
using mapped_type = typename params_type::mapped_type
 
using value_type = typename Tree::value_type
 
using key_compare = typename Tree::key_compare
 
using allocator_type = typename Tree::allocator_type
 
using iterator = typename Tree::iterator
 
using const_iterator = typename Tree::const_iterator
 
- Public 类型 继承自 phmap::priv::btree_set_container< Tree >
using key_type = typename Tree::key_type
 
using value_type = typename Tree::value_type
 
using size_type = typename Tree::size_type
 
using key_compare = typename Tree::key_compare
 
using allocator_type = typename Tree::allocator_type
 
using iterator = typename Tree::iterator
 
using const_iterator = typename Tree::const_iterator
 
using node_type = typename super_type::node_type
 
using insert_return_type = InsertReturnType< iterator, node_type >
 
- Public 类型 继承自 phmap::priv::btree_container< Tree >
using key_type = typename Tree::key_type
 
using value_type = typename Tree::value_type
 
using size_type = typename Tree::size_type
 
using difference_type = typename Tree::difference_type
 
using key_compare = typename Tree::key_compare
 
using value_compare = typename Tree::value_compare
 
using allocator_type = typename Tree::allocator_type
 
using reference = typename Tree::reference
 
using const_reference = typename Tree::const_reference
 
using pointer = typename Tree::pointer
 
using const_pointer = typename Tree::const_pointer
 
using iterator = typename Tree::iterator
 
using const_iterator = typename Tree::const_iterator
 
using reverse_iterator = typename Tree::reverse_iterator
 
using const_reverse_iterator = typename Tree::const_reverse_iterator
 
using node_type = typename Tree::node_handle_type
 

Public 成员函数

 btree_map_container ()
 
template<typename... Args>
std::pair< iterator, booltry_emplace (const key_type &k, Args &&... args)
 
template<typename... Args>
std::pair< iterator, booltry_emplace (key_type &&k, Args &&... args)
 
template<typename... Args>
iterator try_emplace (const_iterator hint, const key_type &k, Args &&... args)
 
template<typename... Args>
iterator try_emplace (const_iterator hint, key_type &&k, Args &&... args)
 
mapped_typeoperator[] (const key_type &k)
 
mapped_typeoperator[] (key_type &&k)
 
template<typename K = key_type>
mapped_typeat (const key_arg< K > &key)
 
template<typename K = key_type>
const mapped_typeat (const key_arg< K > &key) const
 
- Public 成员函数 继承自 phmap::priv::btree_set_container< Tree >
 btree_set_container ()
 
template<class InputIterator >
 btree_set_container (InputIterator b, InputIterator e, const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
 
 btree_set_container (std::initializer_list< init_type > init, const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
 
 btree_set_container (std::initializer_list< init_type > init, const allocator_type &alloc)
 
template<typename K = key_type>
size_type count (const key_arg< K > &key) const
 
std::pair< iterator, boolinsert (const value_type &x)
 
std::pair< iterator, boolinsert (value_type &&x)
 
template<typename... Args>
std::pair< iterator, boolemplace (Args &&... args)
 
iterator insert (const_iterator hint, const value_type &x)
 
iterator insert (const_iterator hint, value_type &&x)
 
template<typename... Args>
iterator emplace_hint (const_iterator hint, Args &&... args)
 
template<typename InputIterator >
void insert (InputIterator b, InputIterator e)
 
void insert (std::initializer_list< init_type > init)
 
insert_return_type insert (node_type &&node)
 
iterator insert (const_iterator hint, node_type &&node)
 
template<typename K = key_type>
size_type erase (const key_arg< K > &key)
 
template<typename K = key_type>
node_type extract (const key_arg< K > &key)
 
template<typename T , typename phmap::enable_if_t< phmap::conjunction< std::is_same< value_type, typename T::value_type >, std::is_same< allocator_type, typename T::allocator_type >, std::is_same< typename params_type::is_map_container, typename T::params_type::is_map_container > >::value, int > = 0>
void merge (btree_container< T > &src)
 
template<typename T , typename phmap::enable_if_t< phmap::conjunction< std::is_same< value_type, typename T::value_type >, std::is_same< allocator_type, typename T::allocator_type >, std::is_same< typename params_type::is_map_container, typename T::params_type::is_map_container > >::value, int > = 0>
void merge (btree_container< T > &&src)
 
iterator erase (const_iterator iter)
 
iterator erase (iterator iter)
 
iterator erase (const_iterator first, const_iterator last)
 
template<typename K = key_type>
size_type erase (const key_arg< K > &key)
 
node_type extract (iterator position)
 
node_type extract (const_iterator position)
 
- Public 成员函数 继承自 phmap::priv::btree_container< Tree >
 btree_container ()
 
 btree_container (const key_compare &comp, const allocator_type &alloc=allocator_type())
 
 btree_container (const btree_container &x)=default
 
 btree_container (btree_container &&x) noexcept=default
 
btree_containeroperator= (const btree_container &x)=default
 
btree_containeroperator= (btree_container &&x) noexcept(std::is_nothrow_move_assignable< Tree >::value)=default
 
iterator begin ()
 
const_iterator begin () const
 
const_iterator cbegin () const
 
iterator end ()
 
const_iterator end () const
 
const_iterator cend () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator crbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
const_reverse_iterator crend () const
 
template<typename K = key_type>
size_type count (const key_arg< K > &key) const
 
template<typename K = key_type>
iterator find (const key_arg< K > &key)
 
template<typename K = key_type>
const_iterator find (const key_arg< K > &key) const
 
template<typename K = key_type>
bool contains (const key_arg< K > &key) const
 
template<typename K = key_type>
iterator lower_bound (const key_arg< K > &key)
 
template<typename K = key_type>
const_iterator lower_bound (const key_arg< K > &key) const
 
template<typename K = key_type>
iterator upper_bound (const key_arg< K > &key)
 
template<typename K = key_type>
const_iterator upper_bound (const key_arg< K > &key) const
 
template<typename K = key_type>
std::pair< iterator, iteratorequal_range (const key_arg< K > &key)
 
template<typename K = key_type>
std::pair< const_iterator, const_iteratorequal_range (const key_arg< K > &key) const
 
iterator erase (const_iterator iter)
 
iterator erase (iterator iter)
 
iterator erase (const_iterator first, const_iterator last)
 
template<typename K = key_type>
size_type erase (const key_arg< K > &key)
 
node_type extract (iterator position)
 
node_type extract (const_iterator position)
 
void clear ()
 
void swap (btree_container &x)
 
void verify () const
 
size_type size () const
 
size_type max_size () const
 
bool empty () const
 
allocator_type get_allocator () const
 
key_compare key_comp () const
 
value_compare value_comp () const
 

Protected 类型

template<class K >
using key_arg = typename super_type::template key_arg< K >
 
- Protected 类型 继承自 phmap::priv::btree_set_container< Tree >
template<class K >
using key_arg = typename super_type::template key_arg< K >
 
- Protected 类型 继承自 phmap::priv::btree_container< Tree >
template<class K >
using key_arg = typename KeyArg< IsTransparent< typename Tree::key_compare >::value >::template type< K, typename Tree::key_type >
 

Private 类型

using super_type = btree_set_container< Tree >
 
using params_type = typename Tree::params_type
 

额外继承的成员函数

- Protected 属性 继承自 phmap::priv::btree_container< Tree >
Tree tree_
 

成员类型定义说明

◆ allocator_type

template<typename Tree >
using phmap::priv::btree_map_container< Tree >::allocator_type = typename Tree::allocator_type

◆ const_iterator

template<typename Tree >
using phmap::priv::btree_map_container< Tree >::const_iterator = typename Tree::const_iterator

◆ iterator

template<typename Tree >
using phmap::priv::btree_map_container< Tree >::iterator = typename Tree::iterator

◆ key_arg

template<typename Tree >
template<class K >
using phmap::priv::btree_map_container< Tree >::key_arg = typename super_type::template key_arg<K>
protected

◆ key_compare

template<typename Tree >
using phmap::priv::btree_map_container< Tree >::key_compare = typename Tree::key_compare

◆ key_type

template<typename Tree >
using phmap::priv::btree_map_container< Tree >::key_type = typename Tree::key_type

◆ mapped_type

template<typename Tree >
using phmap::priv::btree_map_container< Tree >::mapped_type = typename params_type::mapped_type

◆ params_type

template<typename Tree >
using phmap::priv::btree_map_container< Tree >::params_type = typename Tree::params_type
private

◆ super_type

template<typename Tree >
using phmap::priv::btree_map_container< Tree >::super_type = btree_set_container<Tree>
private

◆ value_type

template<typename Tree >
using phmap::priv::btree_map_container< Tree >::value_type = typename Tree::value_type

构造及析构函数说明

◆ btree_map_container()

template<typename Tree >
phmap::priv::btree_map_container< Tree >::btree_map_container ( )
inline

成员函数说明

◆ at() [1/2]

template<typename Tree >
template<typename K = key_type>
mapped_type & phmap::priv::btree_map_container< Tree >::at ( const key_arg< K > &  key)
inline

◆ at() [2/2]

template<typename Tree >
template<typename K = key_type>
const mapped_type & phmap::priv::btree_map_container< Tree >::at ( const key_arg< K > &  key) const
inline

◆ operator[]() [1/2]

template<typename Tree >
mapped_type & phmap::priv::btree_map_container< Tree >::operator[] ( const key_type k)
inline

◆ operator[]() [2/2]

template<typename Tree >
mapped_type & phmap::priv::btree_map_container< Tree >::operator[] ( key_type &&  k)
inline

◆ try_emplace() [1/4]

template<typename Tree >
template<typename... Args>
std::pair< iterator, bool > phmap::priv::btree_map_container< Tree >::try_emplace ( const key_type k,
Args &&...  args 
)
inline

◆ try_emplace() [2/4]

template<typename Tree >
template<typename... Args>
iterator phmap::priv::btree_map_container< Tree >::try_emplace ( const_iterator  hint,
const key_type k,
Args &&...  args 
)
inline

◆ try_emplace() [3/4]

template<typename Tree >
template<typename... Args>
iterator phmap::priv::btree_map_container< Tree >::try_emplace ( const_iterator  hint,
key_type &&  k,
Args &&...  args 
)
inline

◆ try_emplace() [4/4]

template<typename Tree >
template<typename... Args>
std::pair< iterator, bool > phmap::priv::btree_map_container< Tree >::try_emplace ( key_type &&  k,
Args &&...  args 
)
inline

该类的文档由以下文件生成: