![]() |
NIM 跨平台 C++ SDK
|
#include <btree.h>
类 | |
struct | EmptyNodeType |
struct | node_stats |
Public 类型 | |
using | key_type = typename Params::key_type |
using | value_type = typename Params::value_type |
using | size_type = typename Params::size_type |
using | difference_type = typename Params::difference_type |
using | key_compare = typename Params::key_compare |
using | value_compare = typename Params::value_compare |
using | allocator_type = typename Params::allocator_type |
using | reference = typename Params::reference |
using | const_reference = typename Params::const_reference |
using | pointer = typename Params::pointer |
using | const_pointer = typename Params::const_pointer |
using | iterator = btree_iterator< node_type, reference, pointer > |
using | const_iterator = typename iterator::const_iterator |
using | reverse_iterator = std::reverse_iterator< iterator > |
using | const_reverse_iterator = std::reverse_iterator< const_iterator > |
using | node_handle_type = node_handle< Params, Params, allocator_type > |
using | params_type = Params |
using | slot_type = typename Params::slot_type |
Public 成员函数 | |
btree (const key_compare &comp, const allocator_type &alloc) | |
btree (const btree &x) | |
btree (btree &&x) noexcept | |
~btree () | |
btree & | operator= (const btree &x) |
btree & | operator= (btree &&x) noexcept |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
template<typename K > | |
iterator | lower_bound (const K &key) |
template<typename K > | |
const_iterator | lower_bound (const K &key) const |
template<typename K > | |
iterator | upper_bound (const K &key) |
template<typename K > | |
const_iterator | upper_bound (const K &key) const |
template<typename K > | |
std::pair< iterator, iterator > | equal_range (const K &key) |
template<typename K > | |
std::pair< const_iterator, const_iterator > | equal_range (const K &key) const |
template<typename... Args> | |
std::pair< iterator, bool > | insert_unique (const key_type &key, Args &&... args) |
template<typename... Args> | |
std::pair< iterator, bool > | insert_hint_unique (iterator position, const key_type &key, Args &&... args) |
template<typename InputIterator > | |
void | insert_iterator_unique (InputIterator b, InputIterator e) |
template<typename ValueType > | |
iterator | insert_multi (const key_type &key, ValueType &&v) |
template<typename ValueType > | |
iterator | insert_multi (ValueType &&v) |
template<typename ValueType > | |
iterator | insert_hint_multi (iterator position, ValueType &&v) |
template<typename InputIterator > | |
void | insert_iterator_multi (InputIterator b, InputIterator e) |
iterator | erase (iterator iter) |
std::pair< size_type, iterator > | erase (iterator begin, iterator end) |
template<typename K > | |
size_type | erase_unique (const K &key) |
template<typename K > | |
size_type | erase_multi (const K &key) |
template<typename K > | |
iterator | find (const K &key) |
template<typename K > | |
const_iterator | find (const K &key) const |
template<typename K > | |
size_type | count_unique (const K &key) const |
template<typename K > | |
size_type | count_multi (const K &key) const |
void | clear () |
void | swap (btree &x) |
const key_compare & | key_comp () const noexcept |
template<typename K , typename LK > | |
bool | compare_keys (const K &x, const LK &y) const |
value_compare | value_comp () const |
void | verify () const |
size_type | size () const |
size_type | max_size () const |
bool | empty () const |
size_type | height () const |
size_type | leaf_nodes () const |
size_type | internal_nodes () const |
size_type | nodes () const |
size_type | bytes_used () const |
double | fullness () const |
double | overhead () const |
allocator_type | get_allocator () const |
template<typename... Args> | |
auto | insert_unique (const key_type &key, Args &&... args) -> std::pair< iterator, bool > |
template<typename... Args> | |
auto | insert_hint_unique (iterator position, const key_type &key, Args &&... args) -> std::pair< iterator, bool > |
template<typename ValueType > | |
auto | insert_multi (const key_type &key, ValueType &&v) -> iterator |
template<typename ValueType > | |
auto | insert_hint_multi (iterator position, ValueType &&v) -> iterator |
template<typename K > | |
auto | erase_unique (const K &key) -> size_type |
template<typename K > | |
auto | erase_multi (const K &key) -> size_type |
template<typename... Args> | |
auto | internal_emplace (iterator iter, Args &&... args) -> iterator |
template<typename K > | |
auto | internal_locate (const K &key) const -> SearchResult< iterator, is_key_compare_to::value > |
template<typename K > | |
auto | internal_locate_impl (const K &key, std::false_type) const -> SearchResult< iterator, false > |
template<typename K > | |
auto | internal_locate_impl (const K &key, std::true_type) const -> SearchResult< iterator, true > |
template<typename K > | |
auto | internal_lower_bound (const K &key) const -> iterator |
template<typename K > | |
auto | internal_upper_bound (const K &key) const -> iterator |
template<typename K > | |
auto | internal_find (const K &key) const -> iterator |
静态 Public 成员函数 | |
static double | average_bytes_per_value () |
static bool | testonly_uses_linear_node_search () |
Private 类型 | |
enum | { kNodeValues = node_type::kNodeValues , kMinNodeValues = kNodeValues / 2 } |
using | node_type = btree_node< Params > |
using | is_key_compare_to = typename Params::is_key_compare_to |
静态 Private 成员函数 | |
static node_type * | EmptyNode () |
static constexpr bool | static_assert_validation () |
template<typename IterType > | |
static IterType | internal_last (IterType iter) |
Private 属性 | |
phmap::priv::CompressedTuple< key_compare, allocator_type, node_type * > | root_ |
node_type * | rightmost_ |
size_type | size_ |
using phmap::priv::btree< Params >::allocator_type = typename Params::allocator_type |
using phmap::priv::btree< Params >::const_iterator = typename iterator::const_iterator |
using phmap::priv::btree< Params >::const_pointer = typename Params::const_pointer |
using phmap::priv::btree< Params >::const_reference = typename Params::const_reference |
using phmap::priv::btree< Params >::const_reverse_iterator = std::reverse_iterator<const_iterator> |
using phmap::priv::btree< Params >::difference_type = typename Params::difference_type |
|
private |
using phmap::priv::btree< Params >::iterator = btree_iterator<node_type, reference, pointer> |
using phmap::priv::btree< Params >::key_compare = typename Params::key_compare |
using phmap::priv::btree< Params >::key_type = typename Params::key_type |
using phmap::priv::btree< Params >::node_handle_type = node_handle<Params, Params, allocator_type> |
|
private |
using phmap::priv::btree< Params >::params_type = Params |
using phmap::priv::btree< Params >::pointer = typename Params::pointer |
using phmap::priv::btree< Params >::reference = typename Params::reference |
using phmap::priv::btree< Params >::reverse_iterator = std::reverse_iterator<iterator> |
using phmap::priv::btree< Params >::size_type = typename Params::size_type |
using phmap::priv::btree< Params >::slot_type = typename Params::slot_type |
using phmap::priv::btree< Params >::value_compare = typename Params::value_compare |
using phmap::priv::btree< Params >::value_type = typename Params::value_type |
phmap::priv::btree< P >::btree | ( | const key_compare & | comp, |
const allocator_type & | alloc | ||
) |
phmap::priv::btree< P >::btree | ( | const btree< Params > & | x | ) |
|
inlinenoexcept |
|
inline |
|
inlineprivate |
|
inlineprivatenoexcept |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
void phmap::priv::btree< P >::clear |
|
inline |
|
private |
|
inline |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inline |
|
inlinestaticprivate |
|
inline |
|
inline |
|
inline |
|
inline |
auto phmap::priv::btree< P >::erase | ( | iterator | begin, |
iterator | end | ||
) |
auto phmap::priv::btree< P >::erase | ( | iterator | iter | ) |
|
private |
size_type phmap::priv::btree< Params >::erase_multi | ( | const K & | key | ) |
auto phmap::priv::btree< Params >::erase_multi | ( | const K & | key | ) | -> size_type |
|
private |
size_type phmap::priv::btree< Params >::erase_unique | ( | const K & | key | ) |
auto phmap::priv::btree< Params >::erase_unique | ( | const K & | key | ) | -> size_type |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
iterator phmap::priv::btree< Params >::insert_hint_multi | ( | iterator | position, |
ValueType && | v | ||
) |
auto phmap::priv::btree< Params >::insert_hint_multi | ( | iterator | position, |
ValueType && | v | ||
) | -> iterator |
std::pair< iterator, bool > phmap::priv::btree< Params >::insert_hint_unique | ( | iterator | position, |
const key_type & | key, | ||
Args &&... | args | ||
) |
|
inline |
void phmap::priv::btree< P >::insert_iterator_multi | ( | InputIterator | b, |
InputIterator | e | ||
) |
void phmap::priv::btree< P >::insert_iterator_unique | ( | InputIterator | b, |
InputIterator | e | ||
) |
iterator phmap::priv::btree< Params >::insert_multi | ( | const key_type & | key, |
ValueType && | v | ||
) |
auto phmap::priv::btree< Params >::insert_multi | ( | const key_type & | key, |
ValueType && | v | ||
) | -> iterator |
|
inline |
std::pair< iterator, bool > phmap::priv::btree< Params >::insert_unique | ( | const key_type & | key, |
Args &&... | args | ||
) |
auto phmap::priv::btree< Params >::insert_unique | ( | const key_type & | key, |
Args &&... | args | ||
) | -> std::pair<iterator, bool> |
|
private |
|
private |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
private |
auto phmap::priv::btree< Params >::internal_find | ( | const K & | key | ) | const -> iterator |
|
inlinestaticprivate |
|
private |
|
inline |
|
private |
|
inline |
|
private |
|
inline |
|
private |
auto phmap::priv::btree< Params >::internal_lower_bound | ( | const K & | key | ) | const -> iterator |
|
inline |
|
inlineprivate |
|
private |
auto phmap::priv::btree< Params >::internal_upper_bound | ( | const K & | key | ) | const -> iterator |
|
private |
|
inlinenoexcept |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
private |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inline |
|
noexcept |
auto phmap::priv::btree< P >::operator= | ( | const btree< Params > & | x | ) |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
inline |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inline |
|
staticconstexprprivate |
void phmap::priv::btree< P >::swap | ( | btree< Params > & | x | ) |
|
inlinestatic |
|
private |
|
private |
|
inline |
|
inline |
|
inline |
void phmap::priv::btree< P >::verify |
|
private |
|
private |
|
private |