__gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc > Class Template Referenceabstract
Inheritance diagram for __gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >:
[legend]

## Public Types

typedef access_traits::const_iterator | a_const_iterator
typedef _ATraits | access_traits
typedef _Alloc | allocator_type
typedef node_const_iterator::value_type | const_iterator
typedef node_iterator::value_type | iterator
typedef base_type::key_const_reference | key_const_reference
typedef base_type::key_type | key_type
typedef null_type | metadata_type
typedef Node_CItr | node_const_iterator
typedef Node_Itr | node_iterator
typedef allocator_type::size_type | size_type

## Public Member Functions

std::pair< const_iterator, const_iterator > | prefix_range (key_const_reference) const
std::pair< iterator, iterator > | prefix_range (key_const_reference)
std::pair< const_iterator, const_iterator > | prefix_range (a_const_iterator, a_const_iterator) const
std::pair< iterator, iterator > | prefix_range (a_const_iterator, a_const_iterator)

## Protected Member Functions

void | operator() (node_iterator node_it, node_const_iterator end_nd_it) const

## Private Types

typedef rebind_v::const_pointer | const_pointer
typedef rebind_v::const_reference | const_reference
typedef Node_Itr::value_type | it_type
typedef remove_const< key_type > ::type | rckey_type
typedef remove_const < value_type >::type | rcvalue_type
typedef _Alloc::template rebind< rckey_type >::other | rebind_k
typedef _Alloc::template rebind< rcvalue_type >::other | rebind_v
typedef rebind_v::reference | reference
typedef std::iterator_traits < it_type >::value_type | value_type

## Private Member Functions

it_type | end_iterator () const

## Static Private Member Functions

static size_type | common_prefix_len (node_iterator, e_const_iterator, e_const_iterator, const access_traits &)
static key_const_reference | extract_key (const_reference r_val)
static iterator | leftmost_it (node_iterator)
static bool | less (e_const_iterator, e_const_iterator, e_const_iterator, e_const_iterator, const access_traits &)
static iterator | rightmost_it (node_iterator)

## Detailed Description

### template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
class __gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >

A node updator that allows tries to be searched for the range of values that match a certain prefix.

Definition at line 155 of file trie_policy.hpp.

## Member Typedef Documentation

template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>

typedef access_traits::const_iterator __gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::a_const_iterator

Const element iterator.

Definition at line 168 of file trie_policy.hpp.

template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>

typedef _ATraits __gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::access_traits

Element access traits.

Definition at line 165 of file trie_policy.hpp.

template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>

typedef _Alloc __gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::allocator_type

_Alloc type.

Definition at line 171 of file trie_policy.hpp.

template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>

typedef allocator_type::size_type __gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::size_type

Size type.

Definition at line 174 of file trie_policy.hpp.

## Member Function Documentation

template<typename Node_CItr , typename Node_Itr , typename _ATraits , typename _Alloc >

void __gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::operator() | ( | node_iterator | node_it,
|  | node_const_iterator | end_nd_it
| ) |  | const

inline protected

Called to update a node's metadata.

Definition at line 139 of file trie_policy.hpp.

template<typename Node_CItr , typename Node_Itr , typename _ATraits , typename _Alloc >

std::pair< typename trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::const_iterator, typename trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::const_iterator > __gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::prefix_range | ( | key_const_reference | r_key | ) | const

Finds the const iterator range corresponding to all values whose prefixes match r_key.

Definition at line 47 of file trie_policy.hpp.

template<typename Node_CItr , typename Node_Itr , typename _ATraits , typename _Alloc >

std::pair< typename trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::iterator, typename trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::iterator > __gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::prefix_range | ( | key_const_reference | r_key | ) |

Finds the iterator range corresponding to all values whose prefixes match r_key.

Definition at line 58 of file trie_policy.hpp.

template<typename Node_CItr , typename Node_Itr , typename _ATraits , typename _Alloc >

std::pair< typename trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::const_iterator, typename trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::const_iterator > __gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::prefix_range | ( | a_const_iterator | b,
|  | a_const_iterator | e
| ) |  | const

Finds the const iterator range corresponding to all values whose prefixes match [b, e).

Definition at line 69 of file trie_policy.hpp.

template<typename Node_CItr , typename Node_Itr , typename _ATraits , typename _Alloc >

std::pair< typename trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::iterator, typename trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::iterator > __gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >::prefix_range | ( | a_const_iterator | b,
|  | a_const_iterator | e
| ) |  |

Finds the iterator range corresponding to all values whose prefixes match [b, e).

Definition at line 84 of file trie_policy.hpp.

The documentation for this class was generated from the following files:

- trie_policy.hpp
- prefix_search_node_update_imp.hpp