Directory container class. More...
#include <directory.h>
Classes | |
class | value_compare |
Ordering relation on value_type. More... | |
Public Types | |
typedef _Key | key_type |
Key type. More... | |
typedef _Tp | mapped_type |
Mapped value type. More... | |
typedef directory_entry< const key_type, mapped_type > | value_type |
Value type. More... | |
typedef _Compare | key_compare |
Key comparison type More... | |
typedef _Allocator | allocator_type |
Memory allocator type. More... | |
typedef std::allocator_traits < allocator_type > | __alloc_traits |
typedef __alloc_traits::pointer | pointer |
typedef __alloc_traits::const_pointer | const_pointer |
typedef __alloc_traits::size_type | size_type |
typedef __alloc_traits::difference_type | difference_type |
typedef value_type & | reference |
Reference to value type. More... | |
typedef const value_type & | const_reference |
Const reference to value type. More... | |
typedef __directory_node_internal < value_type, value_compare, allocator_type > | __node |
typedef __alloc_traits::template rebind_alloc< __node > | __node_allocator |
typedef std::allocator_traits < __node_allocator > | __node_traits |
typedef __node_traits::pointer | __node_pointer |
typedef __node_traits::pointer | __node_const_pointer |
using | iterator = __directory_iterator< value_type, __node_pointer, difference_type > |
using | const_iterator = __directory_iterator< value_type, __node_pointer, difference_type > |
typedef std::reverse_iterator < iterator > | reverse_iterator |
typedef std::reverse_iterator < const_iterator > | const_reverse_iterator |
Public Member Functions | |
directory () noexcept(std::is_nothrow_default_constructible< allocator_type >::value &&std::is_nothrow_default_constructible< key_compare >::value &&std::is_nothrow_copy_constructible< key_compare >::value) | |
Default constructor. More... | |
directory (const key_compare &__comp) noexcept(std::is_nothrow_default_constructible< allocator_type >::value &&std::is_nothrow_copy_constructible< key_compare >::value) | |
directory (const allocator_type &__a) | |
directory (const key_compare &__comp, const allocator_type &__a) | |
template<class _InputIterator > | |
directory (_InputIterator __f, _InputIterator __l, const key_compare &__comp=key_compare()) | |
template<class _InputIterator > | |
directory (_InputIterator __f, _InputIterator __l, const key_compare &__comp, const allocator_type &__a) | |
template<class _InputIterator > | |
directory (_InputIterator __f, _InputIterator __l, const allocator_type &__a) | |
directory (const directory &__d) | |
directory (directory &&__d) noexcept(std::is_nothrow_move_constructible< allocator_type >::value &&std::is_nothrow_move_constructible< value_compare >::value) | |
virtual | ~directory () |
directory & | operator= (const directory &__d) |
directory & | operator= (directory &&__d) noexcept(__node_traits::propagate_on_container_move_assignment::value &&std::is_nothrow_move_assignable< value_compare >::value &&std::is_nothrow_move_assignable< allocator_type >::value) |
key_compare | key_comp () const |
Returns a copy of the key comparison object from which the container was constructed. More... | |
value_compare | value_comp () const |
Returns an object of type #value_compare constructed from the key comparison object. More... | |
iterator | begin () noexcept |
const_iterator | begin () const noexcept |
iterator | end () noexcept |
const_iterator | end () const noexcept |
reverse_iterator | rbegin () noexcept |
const_reverse_iterator | rbegin () const noexcept |
reverse_iterator | rend () noexcept |
const_reverse_iterator | rend () const noexcept |
bool | empty () const noexcept |
size_type | size () const noexcept |
size_type | max_size () const noexcept |
std::pair< iterator, bool > | insert (const std::vector< key_type > &keys, const mapped_type &val) |
template<class InputIterator > | |
void | insert (const_iterator pos, InputIterator first, InputIterator last) |
template<class InputIterator > | |
void | insert (InputIterator first, InputIterator last) |
void | clear () noexcept |
void | swap (directory &__d) noexcept(__is_nothrow_swappable< value_compare >::value &&(!__node_traits::propagate_on_container_swap::value||__is_nothrow_swappable< __node_allocator >::value)) |
iterator | find (const std::vector< key_type > &keys) |
const_iterator | find (const std::vector< key_type > &keys) const |
template<class _InputIterator > | |
void | insert (const_iterator pos, _InputIterator __f, _InputIterator __l) |
template<class _InputIterator > | |
void | insert (_InputIterator __f, _InputIterator __l) |
Private Member Functions | |
__node::pointer | release_root () |
__node_pointer | __create_node () |
__node_pointer | __create_node (__node &other) |
__node_pointer | __create_node (value_type &value) |
template<class... _Args> | |
__node_pointer | __create_node (_Args &&...__args) |
void | __destroy_node (__node *np) |
void | __copy_assign_alloc (const directory &__d) |
void | __copy_assign_alloc (const directory &__d, std::true_type) |
void | __copy_assign_alloc (const directory &__d, std::false_type) |
void | __move_assign_alloc (directory &__d) noexcept(!__node_traits::propagate_on_container_move_assignment::value||std::is_nothrow_move_assignable< __node_allocator >::value) |
void | __move_assign_alloc (directory &__d, std::true_type) noexcept(std::is_nothrow_move_assignable< allocator_type >::value) |
void | __move_assign_alloc (directory &__d, std::false_type) noexcept |
void | __move_assign (directory &__d, std::true_type) noexcept(std::is_nothrow_move_assignable< value_compare >::value &&std::is_nothrow_move_assignable< allocator_type >::value) |
void | __move_assign (directory &__d, std::false_type) |
Private Attributes | |
__node::pointer | m_root {} |
allocator_type | m_value_allocator |
value_compare | m_value_compare |
Directory container class.
_Key | Key type |
_Tp | Value type |
_Compare | Key comparison type |
_Allocator | Memory allocator |
Definition at line 343 of file directory.h.
typedef std::allocator_traits<allocator_type> Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::__alloc_traits |
Definition at line 362 of file directory.h.
typedef __directory_node_internal<value_type, value_compare, allocator_type> Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::__node |
Definition at line 389 of file directory.h.
typedef __alloc_traits::template rebind_alloc<__node> Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::__node_allocator |
Definition at line 390 of file directory.h.
typedef __node_traits::pointer Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::__node_const_pointer |
Definition at line 393 of file directory.h.
typedef __node_traits::pointer Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::__node_pointer |
Definition at line 392 of file directory.h.
typedef std::allocator_traits<__node_allocator> Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::__node_traits |
Definition at line 391 of file directory.h.
typedef _Allocator Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::allocator_type |
Memory allocator type.
Definition at line 360 of file directory.h.
using Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::const_iterator = __directory_iterator<value_type, __node_pointer, difference_type> |
Definition at line 397 of file directory.h.
typedef __alloc_traits::const_pointer Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::const_pointer |
Definition at line 365 of file directory.h.
typedef const value_type& Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::const_reference |
Const reference to value type.
Definition at line 373 of file directory.h.
typedef std::reverse_iterator<const_iterator> Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::const_reverse_iterator |
Definition at line 400 of file directory.h.
typedef __alloc_traits::difference_type Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::difference_type |
Definition at line 367 of file directory.h.
using Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::iterator = __directory_iterator<value_type, __node_pointer, difference_type> |
Definition at line 395 of file directory.h.
typedef _Compare Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::key_compare |
Key comparison type
Definition at line 357 of file directory.h.
typedef _Key Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::key_type |
Key type.
Definition at line 348 of file directory.h.
typedef _Tp Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::mapped_type |
Mapped value type.
Definition at line 351 of file directory.h.
typedef __alloc_traits::pointer Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::pointer |
Definition at line 364 of file directory.h.
typedef value_type& Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::reference |
Reference to value type.
Definition at line 370 of file directory.h.
typedef std::reverse_iterator<iterator> Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::reverse_iterator |
Definition at line 399 of file directory.h.
typedef __alloc_traits::size_type Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::size_type |
Definition at line 366 of file directory.h.
typedef directory_entry<const key_type, mapped_type> Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::value_type |
Value type.
Definition at line 354 of file directory.h.
|
inlinenoexcept |
Default constructor.
Definition at line 404 of file directory.h.
|
inline |
Definition at line 420 of file directory.h.
|
inline |
Definition at line 427 of file directory.h.
|
inline |
Definition at line 434 of file directory.h.
|
inlinevirtual |
Definition at line 443 of file directory.h.
|
inlineprivate |
Definition at line 609 of file directory.h.
|
inlineprivate |
Definition at line 612 of file directory.h.
|
inlineprivate |
Definition at line 614 of file directory.h.
|
private |
|
private |
|
inlineprivatenoexcept |
Definition at line 630 of file directory.h.
|
inlineprivate |
Definition at line 639 of file directory.h.
|
inlineprivatenoexcept |
Definition at line 617 of file directory.h.
|
inlineprivatenoexcept |
Definition at line 624 of file directory.h.
|
inlineprivatenoexcept |
Definition at line 628 of file directory.h.
|
inlinenoexcept |
Definition at line 488 of file directory.h.
|
inlinenoexcept |
Definition at line 489 of file directory.h.
|
inlinenoexcept |
Definition at line 544 of file directory.h.
|
inlinenoexcept |
Definition at line 500 of file directory.h.
|
inlinenoexcept |
Definition at line 490 of file directory.h.
|
inlinenoexcept |
Definition at line 491 of file directory.h.
|
inline |
Definition at line 556 of file directory.h.
|
inline |
Definition at line 573 of file directory.h.
|
inline |
Definition at line 510 of file directory.h.
void Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::insert | ( | const_iterator | pos, |
InputIterator | first, | ||
InputIterator | last | ||
) |
void Hypertable::directory< _Key, _Tp, _Compare, _Allocator >::insert | ( | InputIterator | first, |
InputIterator | last | ||
) |
|
inline |
Returns a copy of the key comparison object from which the container was constructed.
Definition at line 473 of file directory.h.
|
inlinenoexcept |
Definition at line 506 of file directory.h.
|
inline |
Definition at line 447 of file directory.h.
|
inlinenoexcept |
Definition at line 457 of file directory.h.
|
inlinenoexcept |
Definition at line 493 of file directory.h.
|
inlinenoexcept |
Definition at line 494 of file directory.h.
|
inlineprivate |
Definition at line 592 of file directory.h.
|
inlinenoexcept |
Definition at line 496 of file directory.h.
|
inlinenoexcept |
Definition at line 497 of file directory.h.
|
inlinenoexcept |
Definition at line 502 of file directory.h.
|
inline |
Returns an object of type #value_compare constructed from the key comparison object.
This object can be used to compare two values (of type value_type) to determine if the key of the first value comes before the key of the second value.
Definition at line 484 of file directory.h.
|
private |
Definition at line 650 of file directory.h.
|
private |
Definition at line 652 of file directory.h.
|
private |
Definition at line 653 of file directory.h.