trie_prefix_search_node_update Interface

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

Defined in: trie_policy.hpp

Template Parameters

Parameter Description Default Value
class Const_Node_Iterator

Const node iterator type.

-
class Node_Iterator

Node iterator type.

-
class E_Access_Traits

Comparison functor.

-
class Allocator

Allocator type.

-

Public Types and Constants

Key-Type Definitions

Type Definition Description
key_type
The instantiating container's key type.

Key type.

const_key_reference
The instantiating container's const key reference type.

Const key reference.

Policy Definitions

Type Definition Description
e_access_traits
E_Access_Traits

Element access traits.

const_e_iterator
typename e_access_traits::const_iterator

Const element iterator.

allocator
Allocator

Allocator type.

General Definitions

Type Definition Description
size_type
typename allocator::size_type

Size type.

Metadata-Type Definitions

Type Definition Description
metadata_type
__gnu_pbds::detail::null_node_metadata

Metadata type.

Iterator Definitions

Type Definition Description
const_node_iterator
Const_Node_Iterator

Const node iterator type.

node_iterator
Node_Iterator

Node iterator type.

const_iterator
typename const_node_iterator::value_type

Const iterator type.

iterator
typename node_iterator::value_type

Iterator type.

Public Methods

Find Methods

Method Description
std::pair<
    const_iterator,
    const_iterator>
  prefix_range
  (const_key_reference r_key) const

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

std::pair<
    iterator,
    iterator>
  prefix_range
  (const_key_reference r_key)

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

std::pair<
    const_iterator,
    const_iterator>
  prefix_range
  (const_e_iterator b,
    const_e_iterator e) const

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

std::pair<
    iterator,
    iterator>
  prefix_range
  (const_e_iterator b,
    const_e_iterator e)

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

Protected Methods

Operators

Method Description
inline void
  operator()
  (node_iterator node_it,
    const_node_iterator end_nd_it) const

Called to update a node's metadata.

Private Methods

Overrides

Method Description
virtual const_iterator
  end
  () const = 0

Returns the const iterator associated with the just-after last element.

virtual iterator
  end
  () = 0

Returns the iterator associated with the just-after last element.

virtual const_node_iterator
  node_begin
  () const = 0

Returns the const_node_iterator associated with the trie's root node.

virtual node_iterator
  node_begin
  () = 0

Returns the node_iterator associated with the trie's root node.

virtual const_node_iterator
  node_end
  () const = 0

Returns the const_node_iterator associated with a just-after leaf node.

virtual node_iterator
  node_end
  () = 0

Returns the node_iterator associated with a just-after leaf node.

virtual const e_access_traits &
  get_e_access_traits
  () const = 0

Access to the cmp_fn object.