GNU g++  v5.2.1
GNU Standard C++
__gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc > Class Template Referenceabstract

Base class for trie policies. More...

#include <trie_policy_base.hpp>

Inheritance diagram for __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >:
Collaboration diagram for __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >:

Public Types

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
 

Protected 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
 

Protected Member Functions

virtual const_iterator end () const =0
 
virtual iterator end ()=0
 
it_type end_iterator () const
 
virtual const access_traitsget_access_traits () const =0
 
virtual node_const_iterator node_begin () const =0
 
virtual node_iterator node_begin ()=0
 
virtual node_const_iterator node_end () const =0
 
virtual node_iterator node_end ()=0
 

Static Protected 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)
 

Private Types

typedef branch_policy< Node_CItr, Node_Itr, _Alloc > base_type
 
typedef access_traits::const_iterator e_const_iterator
 
typedef std::pair< e_const_iterator, e_const_iteratorprefix_range_t
 

Detailed Description

template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
class __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >

Base class for trie policies.

Member Typedef Documentation

template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
typedef _ATraits __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::access_traits
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
typedef _Alloc __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::allocator_type
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
typedef branch_policy<Node_CItr, Node_Itr, _Alloc> __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::base_type
private
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
typedef node_const_iterator::value_type __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::const_iterator
template<typename Node_CItr , typename Node_Itr , typename _Alloc >
typedef rebind_v::const_pointer __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::const_pointer
protectedinherited
template<typename Node_CItr , typename Node_Itr , typename _Alloc >
typedef rebind_v::const_reference __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::const_reference
protectedinherited
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
typedef access_traits::const_iterator __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::e_const_iterator
private
template<typename Node_CItr , typename Node_Itr , typename _Alloc >
typedef Node_Itr::value_type __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::it_type
protectedinherited
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
typedef node_iterator::value_type __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::iterator
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
typedef base_type::key_const_reference __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::key_const_reference
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
typedef base_type::key_type __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::key_type
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
typedef null_type __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::metadata_type
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
typedef Node_CItr __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::node_const_iterator
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
typedef Node_Itr __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::node_iterator
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
typedef std::pair<e_const_iterator, e_const_iterator> __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::prefix_range_t
private
template<typename Node_CItr , typename Node_Itr , typename _Alloc >
typedef remove_const<key_type>::type __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::rckey_type
protectedinherited
template<typename Node_CItr , typename Node_Itr , typename _Alloc >
typedef remove_const<value_type>::type __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::rcvalue_type
protectedinherited
template<typename Node_CItr , typename Node_Itr , typename _Alloc >
typedef _Alloc::template rebind<rckey_type>::other __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::rebind_k
protectedinherited
template<typename Node_CItr , typename Node_Itr , typename _Alloc >
typedef _Alloc::template rebind<rcvalue_type>::other __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::rebind_v
protectedinherited
template<typename Node_CItr , typename Node_Itr , typename _Alloc >
typedef rebind_v::reference __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::reference
protectedinherited
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
typedef allocator_type::size_type __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::size_type
template<typename Node_CItr , typename Node_Itr , typename _Alloc >
typedef std::iterator_traits<it_type>::value_type __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::value_type
protectedinherited

Member Function Documentation

template<typename Node_CItr , typename Node_Itr , typename _ATraits , typename _Alloc >
trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::size_type __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::common_prefix_len ( node_iterator  nd_it,
e_const_iterator  b_r,
e_const_iterator  e_r,
const access_traits r_traits 
)
staticprotected

References std::__exception_ptr::swap().

Here is the call graph for this function:

template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
virtual const_iterator __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::end ( ) const
protectedpure virtual
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
virtual iterator __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::end ( )
protectedpure virtual
template<typename Node_CItr , typename Node_Itr , typename _Alloc >
it_type __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::end_iterator ( ) const
inlineprotectedinherited

References __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::end().

Here is the call graph for this function:

template<typename Node_CItr , typename Node_Itr , typename _Alloc >
static key_const_reference __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::extract_key ( const_reference  r_val)
inlinestaticprotectedinherited
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
virtual const access_traits& __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::get_access_traits ( ) const
protectedpure virtual
template<typename Node_CItr , typename Node_Itr , typename _ATraits , typename _Alloc >
trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::iterator __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::leftmost_it ( node_iterator  nd_it)
staticprotected
template<typename Node_CItr , typename Node_Itr , typename _ATraits , typename _Alloc >
bool __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::less ( e_const_iterator  b_l,
e_const_iterator  e_l,
e_const_iterator  b_r,
e_const_iterator  e_r,
const access_traits r_traits 
)
staticprotected
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
virtual node_const_iterator __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::node_begin ( ) const
protectedpure virtual
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
virtual node_iterator __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::node_begin ( )
protectedpure virtual
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
virtual node_const_iterator __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::node_end ( ) const
protectedpure virtual
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename _Alloc>
virtual node_iterator __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::node_end ( )
protectedpure virtual
template<typename Node_CItr , typename Node_Itr , typename _ATraits , typename _Alloc >
trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::iterator __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >::rightmost_it ( node_iterator  nd_it)
staticprotected

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