NIM 跨平台 C++ SDK
载入中...
搜索中...
未找到
phmap::priv::btree_iterator< Node, Reference, Pointer > 模板结构体 参考

#include <btree.h>

Public 类型

using difference_type = typename Node::difference_type
 
using value_type = typename params_type::value_type
 
using pointer = Pointer
 
using reference = Reference
 
using iterator_category = std::bidirectional_iterator_tag
 

Public 成员函数

 btree_iterator ()
 
 btree_iterator (Node *n, int p)
 
template<typename N , typename R , typename P , phmap::enable_if_t< std::is_same< btree_iterator< N, R, P >, iterator >::value &&std::is_same< btree_iterator, const_iterator >::value, int > = 0>
 btree_iterator (const btree_iterator< N, R, P > &x)
 
bool operator== (const const_iterator &x) const
 
bool operator!= (const const_iterator &x) const
 
bool operator== (const iterator &x) const
 
bool operator!= (const iterator &x) const
 
reference operator* () const
 
pointer operator-> () const
 
btree_iteratoroperator++ ()
 
btree_iteratoroperator-- ()
 
btree_iterator operator++ (int)
 
btree_iterator operator-- (int)
 

Private 类型

using key_type = typename Node::key_type
 
using size_type = typename Node::size_type
 
using params_type = typename Node::params_type
 
using node_type = Node
 
using normal_node = typename std::remove_const< Node >::type
 
using const_node = const Node
 
using normal_pointer = typename params_type::pointer
 
using normal_reference = typename params_type::reference
 
using const_pointer = typename params_type::const_pointer
 
using const_reference = typename params_type::const_reference
 
using slot_type = typename params_type::slot_type
 
using iterator = btree_iterator< normal_node, normal_reference, normal_pointer >
 
using const_iterator = btree_iterator< const_node, const_reference, const_pointer >
 

Private 成员函数

template<typename N , typename R , typename P , phmap::enable_if_t< std::is_same< btree_iterator< N, R, P >, const_iterator >::value &&std::is_same< btree_iterator, iterator >::value, int > = 0>
 btree_iterator (const btree_iterator< N, R, P > &x)
 
void increment ()
 
void increment_slow ()
 
void decrement ()
 
void decrement_slow ()
 
const key_typekey () const
 
slot_typeslot ()
 

Private 属性

Node * node
 
int position
 

友元

template<typename Params >
class btree
 
template<typename Tree >
class btree_container
 
template<typename Tree >
class btree_set_container
 
template<typename Tree >
class btree_map_container
 
template<typename Tree >
class btree_multiset_container
 
template<typename N , typename R , typename P >
struct btree_iterator
 
template<typename TreeType , typename CheckerType >
class base_checker
 

成员类型定义说明

◆ const_iterator

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::const_iterator = btree_iterator<const_node, const_reference, const_pointer>
private

◆ const_node

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::const_node = const Node
private

◆ const_pointer

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::const_pointer = typename params_type::const_pointer
private

◆ const_reference

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::const_reference = typename params_type::const_reference
private

◆ difference_type

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::difference_type = typename Node::difference_type

◆ iterator

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::iterator = btree_iterator<normal_node, normal_reference, normal_pointer>
private

◆ iterator_category

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::iterator_category = std::bidirectional_iterator_tag

◆ key_type

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::key_type = typename Node::key_type
private

◆ node_type

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::node_type = Node
private

◆ normal_node

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::normal_node = typename std::remove_const<Node>::type
private

◆ normal_pointer

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::normal_pointer = typename params_type::pointer
private

◆ normal_reference

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::normal_reference = typename params_type::reference
private

◆ params_type

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::params_type = typename Node::params_type
private

◆ pointer

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::pointer = Pointer

◆ reference

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::reference = Reference

◆ size_type

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::size_type = typename Node::size_type
private

◆ slot_type

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::slot_type = typename params_type::slot_type
private

◆ value_type

template<typename Node , typename Reference , typename Pointer >
using phmap::priv::btree_iterator< Node, Reference, Pointer >::value_type = typename params_type::value_type

构造及析构函数说明

◆ btree_iterator() [1/4]

template<typename Node , typename Reference , typename Pointer >
phmap::priv::btree_iterator< Node, Reference, Pointer >::btree_iterator ( )
inline

◆ btree_iterator() [2/4]

template<typename Node , typename Reference , typename Pointer >
phmap::priv::btree_iterator< Node, Reference, Pointer >::btree_iterator ( Node *  n,
int  p 
)
inline

◆ btree_iterator() [3/4]

template<typename Node , typename Reference , typename Pointer >
template<typename N , typename R , typename P , phmap::enable_if_t< std::is_same< btree_iterator< N, R, P >, iterator >::value &&std::is_same< btree_iterator, const_iterator >::value, int > = 0>
phmap::priv::btree_iterator< Node, Reference, Pointer >::btree_iterator ( const btree_iterator< N, R, P > &  x)
inline

◆ btree_iterator() [4/4]

template<typename Node , typename Reference , typename Pointer >
template<typename N , typename R , typename P , phmap::enable_if_t< std::is_same< btree_iterator< N, R, P >, const_iterator >::value &&std::is_same< btree_iterator, iterator >::value, int > = 0>
phmap::priv::btree_iterator< Node, Reference, Pointer >::btree_iterator ( const btree_iterator< N, R, P > &  x)
inlineexplicitprivate

成员函数说明

◆ decrement()

template<typename Node , typename Reference , typename Pointer >
void phmap::priv::btree_iterator< Node, Reference, Pointer >::decrement ( )
inlineprivate

◆ decrement_slow()

template<typename N , typename R , typename P >
void phmap::priv::btree_iterator< N, R, P >::decrement_slow
private

◆ increment()

template<typename Node , typename Reference , typename Pointer >
void phmap::priv::btree_iterator< Node, Reference, Pointer >::increment ( )
inlineprivate

◆ increment_slow()

template<typename N , typename R , typename P >
void phmap::priv::btree_iterator< N, R, P >::increment_slow
private

◆ key()

template<typename Node , typename Reference , typename Pointer >
const key_type & phmap::priv::btree_iterator< Node, Reference, Pointer >::key ( ) const
inlineprivate

◆ operator!=() [1/2]

template<typename Node , typename Reference , typename Pointer >
bool phmap::priv::btree_iterator< Node, Reference, Pointer >::operator!= ( const const_iterator x) const
inline

◆ operator!=() [2/2]

template<typename Node , typename Reference , typename Pointer >
bool phmap::priv::btree_iterator< Node, Reference, Pointer >::operator!= ( const iterator x) const
inline

◆ operator*()

template<typename Node , typename Reference , typename Pointer >
reference phmap::priv::btree_iterator< Node, Reference, Pointer >::operator* ( ) const
inline

◆ operator++() [1/2]

template<typename Node , typename Reference , typename Pointer >
btree_iterator & phmap::priv::btree_iterator< Node, Reference, Pointer >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename Node , typename Reference , typename Pointer >
btree_iterator phmap::priv::btree_iterator< Node, Reference, Pointer >::operator++ ( int  )
inline

◆ operator--() [1/2]

template<typename Node , typename Reference , typename Pointer >
btree_iterator & phmap::priv::btree_iterator< Node, Reference, Pointer >::operator-- ( )
inline

◆ operator--() [2/2]

template<typename Node , typename Reference , typename Pointer >
btree_iterator phmap::priv::btree_iterator< Node, Reference, Pointer >::operator-- ( int  )
inline

◆ operator->()

template<typename Node , typename Reference , typename Pointer >
pointer phmap::priv::btree_iterator< Node, Reference, Pointer >::operator-> ( ) const
inline

◆ operator==() [1/2]

template<typename Node , typename Reference , typename Pointer >
bool phmap::priv::btree_iterator< Node, Reference, Pointer >::operator== ( const const_iterator x) const
inline

◆ operator==() [2/2]

template<typename Node , typename Reference , typename Pointer >
bool phmap::priv::btree_iterator< Node, Reference, Pointer >::operator== ( const iterator x) const
inline

◆ slot()

template<typename Node , typename Reference , typename Pointer >
slot_type * phmap::priv::btree_iterator< Node, Reference, Pointer >::slot ( )
inlineprivate

友元及相关函数文档

◆ base_checker

template<typename Node , typename Reference , typename Pointer >
template<typename TreeType , typename CheckerType >
friend class base_checker
friend

◆ btree

template<typename Node , typename Reference , typename Pointer >
template<typename Params >
friend class btree
friend

◆ btree_container

template<typename Node , typename Reference , typename Pointer >
template<typename Tree >
friend class btree_container
friend

◆ btree_iterator

template<typename Node , typename Reference , typename Pointer >
template<typename N , typename R , typename P >
friend struct btree_iterator
friend

◆ btree_map_container

template<typename Node , typename Reference , typename Pointer >
template<typename Tree >
friend class btree_map_container
friend

◆ btree_multiset_container

template<typename Node , typename Reference , typename Pointer >
template<typename Tree >
friend class btree_multiset_container
friend

◆ btree_set_container

template<typename Node , typename Reference , typename Pointer >
template<typename Tree >
friend class btree_set_container
friend

类成员变量说明

◆ node

template<typename Node , typename Reference , typename Pointer >
Node* phmap::priv::btree_iterator< Node, Reference, Pointer >::node
private

◆ position

template<typename Node , typename Reference , typename Pointer >
int phmap::priv::btree_iterator< Node, Reference, Pointer >::position
private

该结构体的文档由以下文件生成: