trie_prefix_search_node_update Interface (original) (raw)

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 matchr_key.
std::pair< iterator, iterator> prefix_range (const_key_reference r_key) Finds the iterator range corresponding to all values whose prefixes matchr_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.