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

#include <btree.h>

类 phmap::priv::btree_multiset_container< Tree > 继承关系图:
phmap::priv::btree_container< Tree > phmap::priv::btree_multimap_container< priv::btree< priv::map_params< Key, Value, Compare, Alloc, 256, true > > > phmap::priv::btree_multimap_container< Tree > phmap::btree_multimap< Key, Value, Compare, Alloc >

Public 类型

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
 
- 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_multiset_container ()
 
template<class InputIterator >
 btree_multiset_container (InputIterator b, InputIterator e, const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
 
 btree_multiset_container (std::initializer_list< init_type > init, const key_compare &comp=key_compare(), const allocator_type &alloc=allocator_type())
 
template<typename K = key_type>
size_type count (const key_arg< K > &key) const
 
iterator insert (const value_type &x)
 
iterator insert (value_type &&x)
 
iterator insert (const_iterator hint, const value_type &x)
 
iterator insert (const_iterator hint, value_type &&x)
 
template<typename InputIterator >
void insert (InputIterator b, InputIterator e)
 
void insert (std::initializer_list< init_type > init)
 
template<typename... Args>
iterator emplace (Args &&... args)
 
template<typename... Args>
iterator emplace_hint (const_iterator hint, Args &&... args)
 
iterator 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
 

Private 类型

using super_type = btree_container< Tree >
 
using params_type = typename Tree::params_type
 
using init_type = typename params_type::init_type
 
using is_key_compare_to = typename params_type::is_key_compare_to
 
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 >
 
- Protected 属性 继承自 phmap::priv::btree_container< Tree >
Tree tree_
 

成员类型定义说明

◆ allocator_type

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

◆ const_iterator

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

◆ init_type

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

◆ is_key_compare_to

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

◆ iterator

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

◆ key_arg

template<typename Tree >
template<class K >
using phmap::priv::btree_multiset_container< Tree >::key_arg = typename super_type::template key_arg<K>
private

◆ key_compare

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

◆ key_type

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

◆ node_type

template<typename Tree >
using phmap::priv::btree_multiset_container< Tree >::node_type = typename super_type::node_type

◆ params_type

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

◆ size_type

template<typename Tree >
using phmap::priv::btree_multiset_container< Tree >::size_type = typename Tree::size_type

◆ super_type

template<typename Tree >
using phmap::priv::btree_multiset_container< Tree >::super_type = btree_container<Tree>
private

◆ value_type

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

构造及析构函数说明

◆ btree_multiset_container() [1/3]

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

◆ btree_multiset_container() [2/3]

template<typename Tree >
template<class InputIterator >
phmap::priv::btree_multiset_container< Tree >::btree_multiset_container ( InputIterator  b,
InputIterator  e,
const key_compare comp = key_compare(),
const allocator_type alloc = allocator_type() 
)
inline

◆ btree_multiset_container() [3/3]

template<typename Tree >
phmap::priv::btree_multiset_container< Tree >::btree_multiset_container ( std::initializer_list< init_type init,
const key_compare comp = key_compare(),
const allocator_type alloc = allocator_type() 
)
inline

成员函数说明

◆ count()

template<typename Tree >
template<typename K = key_type>
size_type phmap::priv::btree_multiset_container< Tree >::count ( const key_arg< K > &  key) const
inline

◆ emplace()

template<typename Tree >
template<typename... Args>
iterator phmap::priv::btree_multiset_container< Tree >::emplace ( Args &&...  args)
inline

◆ emplace_hint()

template<typename Tree >
template<typename... Args>
iterator phmap::priv::btree_multiset_container< Tree >::emplace_hint ( const_iterator  hint,
Args &&...  args 
)
inline

◆ erase() [1/5]

template<typename Tree >
template<typename K = key_type>
size_type phmap::priv::btree_multiset_container< Tree >::erase ( const key_arg< K > &  key)
inline

◆ erase() [2/5]

template<typename Tree >
template<typename K = key_type>
size_type phmap::priv::btree_container< Tree >::erase ( const key_arg< K > &  key)
inline

◆ erase() [3/5]

template<typename Tree >
iterator phmap::priv::btree_container< Tree >::erase ( const_iterator  first,
const_iterator  last 
)
inline

◆ erase() [4/5]

template<typename Tree >
iterator phmap::priv::btree_container< Tree >::erase ( const_iterator  iter)
inline

◆ erase() [5/5]

template<typename Tree >
iterator phmap::priv::btree_container< Tree >::erase ( iterator  iter)
inline

◆ extract() [1/3]

template<typename Tree >
template<typename K = key_type>
node_type phmap::priv::btree_multiset_container< Tree >::extract ( const key_arg< K > &  key)
inline

◆ extract() [2/3]

template<typename Tree >
node_type phmap::priv::btree_container< Tree >::extract ( const_iterator  position)
inline

◆ extract() [3/3]

template<typename Tree >
node_type phmap::priv::btree_container< Tree >::extract ( iterator  position)
inline

◆ insert() [1/8]

template<typename Tree >
iterator phmap::priv::btree_multiset_container< Tree >::insert ( const value_type x)
inline

◆ insert() [2/8]

template<typename Tree >
iterator phmap::priv::btree_multiset_container< Tree >::insert ( const_iterator  hint,
const value_type x 
)
inline

◆ insert() [3/8]

template<typename Tree >
iterator phmap::priv::btree_multiset_container< Tree >::insert ( const_iterator  hint,
node_type &&  node 
)
inline

◆ insert() [4/8]

template<typename Tree >
iterator phmap::priv::btree_multiset_container< Tree >::insert ( const_iterator  hint,
value_type &&  x 
)
inline

◆ insert() [5/8]

template<typename Tree >
template<typename InputIterator >
void phmap::priv::btree_multiset_container< Tree >::insert ( InputIterator  b,
InputIterator  e 
)
inline

◆ insert() [6/8]

template<typename Tree >
iterator phmap::priv::btree_multiset_container< Tree >::insert ( node_type &&  node)
inline

◆ insert() [7/8]

template<typename Tree >
void phmap::priv::btree_multiset_container< Tree >::insert ( std::initializer_list< init_type init)
inline

◆ insert() [8/8]

template<typename Tree >
iterator phmap::priv::btree_multiset_container< Tree >::insert ( value_type &&  x)
inline

◆ merge() [1/2]

template<typename Tree >
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 phmap::priv::btree_multiset_container< Tree >::merge ( btree_container< T > &&  src)
inline

◆ merge() [2/2]

template<typename Tree >
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 phmap::priv::btree_multiset_container< Tree >::merge ( btree_container< T > &  src)
inline

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