libstdc++
__gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc > Class Template Reference
Inheritance diagram for __gnu_pbds::trie_prefix_search_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc >:

List of all members.

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 156 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 169 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.

Reimplemented from __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >.

Definition at line 166 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.

Reimplemented from __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >.

Definition at line 172 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

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
inlineprotected

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: