libstdc++
__gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata > Struct Template Reference

#include <pat_trie_base.hpp>

Inheritance diagram for __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >:
[legend]

Classes

struct  const_iterator
 
struct  iterator
 

Public Types

enum  { arr_size }
 
typedef detail::rebind_traits< _Alloc, node_pointer > __rebind_np
 
typedef base_type::allocator_type _Alloc
 
typedef base_type::access_traits access_traits
 
typedef _Alloc allocator_type
 
typedef _Node_base< _ATraits, Metadata > base_type
 
typedef __rebind_np::pointer node_pointer_pointer
 
typedef __rebind_np::reference node_pointer_reference
 
typedef _Alloc::size_type size_type
 
typedef base_type::type_traits type_traits
 
typedef type_traits::value_type value_type
 

Public Member Functions

 _Inode (size_type, const a_const_iterator)
 
node_pointer add_child (node_pointer, a_const_iterator, a_const_iterator, a_const_pointer)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
iterator get_child_it (a_const_iterator, a_const_iterator, a_const_pointer)
 
node_pointer get_child_node (a_const_iterator, a_const_iterator, a_const_pointer)
 
node_const_pointer get_child_node (a_const_iterator, a_const_iterator, a_const_pointer) const
 
size_type get_e_ind () const
 
node_const_pointer get_join_child (node_const_pointer, a_const_pointer) const
 
node_pointer get_join_child (node_pointer, a_const_pointer)
 
node_pointer get_lower_bound_child_node (a_const_iterator, a_const_iterator, size_type, a_const_pointer)
 
leaf_pointer leftmost_descendant ()
 
leaf_const_pointer leftmost_descendant () const
 
a_const_iterator pref_b_it () const
 
a_const_iterator pref_e_it () const
 
void remove_child (iterator)
 
void remove_child (node_pointer)
 
void replace_child (node_pointer, a_const_iterator, a_const_iterator, a_const_pointer)
 
leaf_pointer rightmost_descendant ()
 
leaf_const_pointer rightmost_descendant () const
 
bool should_be_mine (a_const_iterator, a_const_iterator, size_type, a_const_pointer) const
 
void update_prefixes (a_const_pointer)
 

Public Attributes

node_pointer m_p_parent
 
const node_type m_type
 

Detailed Description

template<typename _ATraits, typename Metadata>
struct __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >

Internal node type, PATRICIA tree.

Definition at line 211 of file pat_trie_base.hpp.

Member Typedef Documentation

◆ __rebind_np

template<typename _ATraits , typename Metadata >
typedef detail::rebind_traits<_Alloc, node_pointer> __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::__rebind_np

Definition at line 243 of file pat_trie_base.hpp.

◆ _Alloc

template<typename _ATraits , typename Metadata >
typedef base_type::allocator_type __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::_Alloc

Definition at line 218 of file pat_trie_base.hpp.

◆ access_traits

template<typename _ATraits , typename Metadata >
typedef base_type::access_traits __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::access_traits

Definition at line 216 of file pat_trie_base.hpp.

◆ allocator_type

template<typename _ATraits , typename Metadata >
typedef _Alloc __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::allocator_type

Definition at line 219 of file pat_trie_base.hpp.

◆ base_type

template<typename _ATraits , typename Metadata >
typedef _Node_base<_ATraits, Metadata> __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::base_type

Definition at line 214 of file pat_trie_base.hpp.

◆ node_pointer_pointer

template<typename _ATraits , typename Metadata >
typedef __rebind_np::pointer __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::node_pointer_pointer

Definition at line 244 of file pat_trie_base.hpp.

◆ node_pointer_reference

template<typename _ATraits , typename Metadata >
typedef __rebind_np::reference __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::node_pointer_reference

Definition at line 245 of file pat_trie_base.hpp.

◆ size_type

template<typename _ATraits , typename Metadata >
typedef _Alloc::size_type __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::size_type

Definition at line 220 of file pat_trie_base.hpp.

◆ type_traits

template<typename _ATraits , typename Metadata >
typedef base_type::type_traits __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::type_traits

Definition at line 215 of file pat_trie_base.hpp.

◆ value_type

template<typename _ATraits , typename Metadata >
typedef type_traits::value_type __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::value_type

Definition at line 217 of file pat_trie_base.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<typename _ATraits , typename Metadata >
anonymous enum

Definition at line 247 of file pat_trie_base.hpp.

Constructor & Destructor Documentation

◆ _Inode()

template<typename _ATraits , typename Metadata >
__gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::_Inode ( size_type  len,
const a_const_iterator  it 
)

Definition at line 1007 of file pat_trie_base.hpp.

Member Function Documentation

◆ add_child()

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::node_pointer __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::add_child ( node_pointer  p_nd,
a_const_iterator  b_it,
a_const_iterator  e_it,
a_const_pointer  p_traits 
)
inline

Definition at line 1142 of file pat_trie_base.hpp.

◆ begin() [1/2]

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::iterator __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::begin ( )

Definition at line 1049 of file pat_trie_base.hpp.

◆ begin() [2/2]

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::const_iterator __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::begin ( ) const

Definition at line 1039 of file pat_trie_base.hpp.

◆ end() [1/2]

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::iterator __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::end ( )

Definition at line 1068 of file pat_trie_base.hpp.

◆ end() [2/2]

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::const_iterator __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::end ( ) const

Definition at line 1058 of file pat_trie_base.hpp.

◆ get_child_it()

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::iterator __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::get_child_it ( a_const_iterator  b_it,
a_const_iterator  e_it,
a_const_pointer  p_traits 
)
inline

Definition at line 1085 of file pat_trie_base.hpp.

◆ get_child_node() [1/2]

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::node_pointer __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::get_child_node ( a_const_iterator  b_it,
a_const_iterator  e_it,
a_const_pointer  p_traits 
)
inline

Definition at line 1074 of file pat_trie_base.hpp.

◆ get_child_node() [2/2]

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::node_const_pointer __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::get_child_node ( a_const_iterator  b_it,
a_const_iterator  e_it,
a_const_pointer  p_traits 
) const
inline

Definition at line 1097 of file pat_trie_base.hpp.

◆ get_e_ind()

template<typename _ATraits , typename Metadata >
size_type __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::get_e_ind ( ) const
inline

Definition at line 453 of file pat_trie_base.hpp.

◆ get_join_child() [1/2]

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::node_const_pointer __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::get_join_child ( node_const_pointer  p_nd,
a_const_pointer  p_tr 
) const
inline

Definition at line 1159 of file pat_trie_base.hpp.

◆ get_join_child() [2/2]

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::node_pointer __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::get_join_child ( node_pointer  p_nd,
a_const_pointer  p_traits 
)
inline

Definition at line 1169 of file pat_trie_base.hpp.

◆ get_lower_bound_child_node()

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::node_pointer __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::get_lower_bound_child_node ( a_const_iterator  b_it,
a_const_iterator  e_it,
size_type  checked_ind,
a_const_pointer  p_traits 
)
inline

Definition at line 1104 of file pat_trie_base.hpp.

◆ leftmost_descendant() [1/2]

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::leaf_pointer __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::leftmost_descendant ( )

Definition at line 1270 of file pat_trie_base.hpp.

◆ leftmost_descendant() [2/2]

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::leaf_const_pointer __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::leftmost_descendant ( ) const

Definition at line 1282 of file pat_trie_base.hpp.

◆ pref_b_it()

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::a_const_iterator __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::pref_b_it ( ) const
inline

Definition at line 1230 of file pat_trie_base.hpp.

◆ pref_e_it()

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::a_const_iterator __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::pref_e_it ( ) const
inline

Definition at line 1236 of file pat_trie_base.hpp.

◆ remove_child() [1/2]

template<typename _ATraits , typename Metadata >
void __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::remove_child ( iterator  it)

Definition at line 1211 of file pat_trie_base.hpp.

◆ remove_child() [2/2]

template<typename _ATraits , typename Metadata >
void __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::remove_child ( node_pointer  p_nd)

Definition at line 1196 of file pat_trie_base.hpp.

◆ replace_child()

template<typename _ATraits , typename Metadata >
void __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::replace_child ( node_pointer  p_nd,
a_const_iterator  b_it,
a_const_iterator  e_it,
a_const_pointer  p_traits 
)

Definition at line 1217 of file pat_trie_base.hpp.

◆ rightmost_descendant() [1/2]

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::leaf_pointer __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::rightmost_descendant ( )

Definition at line 1288 of file pat_trie_base.hpp.

◆ rightmost_descendant() [2/2]

template<typename _ATraits , typename Metadata >
pat_trie_base::_Inode< _ATraits, Metadata >::leaf_const_pointer __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::rightmost_descendant ( ) const

Definition at line 1305 of file pat_trie_base.hpp.

◆ should_be_mine()

template<typename _ATraits , typename Metadata >
bool __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::should_be_mine ( a_const_iterator  b_it,
a_const_iterator  e_it,
size_type  checked_ind,
a_const_pointer  p_traits 
) const

Definition at line 1242 of file pat_trie_base.hpp.

◆ update_prefixes()

template<typename _ATraits , typename Metadata >
void __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::update_prefixes ( a_const_pointer  p_traits)

Definition at line 1018 of file pat_trie_base.hpp.

Member Data Documentation

◆ m_p_parent

template<typename _ATraits , typename Metadata >
node_pointer __gnu_pbds::detail::pat_trie_base::_Node_base< _ATraits, Metadata >::m_p_parent
inherited

Definition at line 105 of file pat_trie_base.hpp.

◆ m_type

template<typename _ATraits , typename Metadata >
const node_type __gnu_pbds::detail::pat_trie_base::_Node_base< _ATraits, Metadata >::m_type
inherited

Definition at line 106 of file pat_trie_base.hpp.


The documentation for this struct was generated from the following file: