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

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:

- pat_trie_base.hpp