__gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc > Class Template Referenceabstract

`#include <trie_policy_base.hpp>`

Inheritance diagram for __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >:
[legend]

## 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_traits & | get_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)

## 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.

Definition at line 53 of file trie_policy_base.hpp.

## Member Typedef Documentation

## access_traits

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

Definition at line 59 of file trie_policy_base.hpp.

## allocator_type

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

Definition at line 60 of file trie_policy_base.hpp.

## const_iterator

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

Definition at line 65 of file trie_policy_base.hpp.

## const_pointer

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

protected inherited

Definition at line 67 of file branch_policy.hpp.

## const_reference

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

protected inherited

Definition at line 66 of file branch_policy.hpp.

## it_type

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

protected inherited

Definition at line 55 of file branch_policy.hpp.

## iterator

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

Definition at line 66 of file trie_policy_base.hpp.

## key_const_reference

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

Definition at line 68 of file trie_policy_base.hpp.

## key_type

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

Definition at line 67 of file trie_policy_base.hpp.

## metadata_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

Definition at line 62 of file trie_policy_base.hpp.

## node_const_iterator

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

Definition at line 63 of file trie_policy_base.hpp.

## node_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

Definition at line 64 of file trie_policy_base.hpp.

## rckey_type

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

protected inherited

Definition at line 60 of file branch_policy.hpp.

## rcvalue_type

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

protected inherited

Definition at line 59 of file branch_policy.hpp.

## rebind_k

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

protected inherited

Definition at line 63 of file branch_policy.hpp.

## rebind_v

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

protected inherited

Definition at line 62 of file branch_policy.hpp.

## reference

template<typename Node_CItr , typename Node_Itr , typename _Alloc >

typedef rebind_v::reference __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::reference

protected inherited

Definition at line 65 of file branch_policy.hpp.

## size_type

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

Definition at line 61 of file trie_policy_base.hpp.

## value_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

protected inherited

Definition at line 56 of file branch_policy.hpp.

## Member Function Documentation

## common_prefix_len()

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

static protected

Definition at line 122 of file trie_policy_base.hpp.

## end()

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 | ( |  | ) |

protected pure virtual

Implements __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >.

## end_iterator()

template<typename Node_CItr , typename Node_Itr , typename _Alloc >

it_type __gnu_pbds::detail::branch_policy< Node_CItr, Node_Itr, _Alloc >::end_iterator | ( |  | ) | const

inline protected inherited

Definition at line 79 of file branch_policy.hpp.

## extract_key()

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

inline static protected inherited

Definition at line 72 of file branch_policy.hpp.

## leftmost_it()

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

static protected

Definition at line 156 of file trie_policy_base.hpp.

## less()

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

static protected

Definition at line 180 of file trie_policy_base.hpp.

## rightmost_it()

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

static protected

Definition at line 167 of file trie_policy_base.hpp.

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

- trie_policy_base.hpp