__gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc > Struct Template Reference
Extensions » Policy-Based Data Structures » Traits

`#include <traits.hpp>`

## Public Types

typedef _ATraits | access_traits
typedef base_type::_CIter< node, leaf, head, inode, true > | const_iterator
typedef base_type::_CIter< node, leaf, head, inode, false > | const_reverse_iterator
typedef base_type::_Head< synth_access_traits, metadata > | head
typedef base_type::_Inode< synth_access_traits, metadata > | inode
typedef base_type::_Iter< node, leaf, head, inode, true > | iterator
typedef base_type::_Leaf< synth_access_traits, metadata > | leaf
typedef base_type::_Metadata< metadata_type, _Alloc > | metadata
typedef trie_node_metadata_dispatch< Key, Mapped, _ATraits, Node_Update, _Alloc >::type | metadata_type
typedef base_type::_Node_base< synth_access_traits, metadata > | node
typedef base_type::_Node_citer< node, leaf, head, inode, const_iterator, iterator, _Alloc > | node_const_iterator
typedef base_type::_Node_iter< node, leaf, head, inode, const_iterator, iterator, _Alloc > | node_iterator
typedef Node_Update< node_const_iterator, node_iterator, _ATraits, _Alloc > | node_update
typedef null_node_update< node_const_iterator, node_iterator, _ATraits, _Alloc > * | null_node_update_pointer
typedef base_type::_Iter< node, leaf, head, inode, false > | reverse_iterator
typedef __gnu_pbds::detail::synth_access_traits< type_traits, false, access_traits > | synth_access_traits

## Detailed Description

template<typename Key, typename Mapped, typename _ATraits, template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc>
struct __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >

Specialization.

Definition at line 62 of file pat_trie_/traits.hpp.

## Member Typedef Documentation

## access_traits

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef _ATraits __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::access_traits

Definition at line 71 of file pat_trie_/traits.hpp.

## const_iterator

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef base_type::_CIter<node, leaf, head, inode, true> __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::const_iterator

Definition at line 82 of file pat_trie_/traits.hpp.

## const_reverse_iterator

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef base_type::_CIter<node, leaf, head, inode, false> __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::const_reverse_iterator

Definition at line 84 of file pat_trie_/traits.hpp.

## head

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef base_type::_Head<synth_access_traits, metadata> __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::head

Definition at line 77 of file pat_trie_/traits.hpp.

## inode

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef base_type::_Inode<synth_access_traits, metadata> __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::inode

Definition at line 79 of file pat_trie_/traits.hpp.

## iterator

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef base_type::_Iter<node, leaf, head, inode, true> __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::iterator

Definition at line 81 of file pat_trie_/traits.hpp.

## leaf

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef base_type::_Leaf<synth_access_traits, metadata> __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::leaf

Definition at line 78 of file pat_trie_/traits.hpp.

## metadata

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef base_type::_Metadata<metadata_type, _Alloc> __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::metadata

Definition at line 70 of file pat_trie_/traits.hpp.

## metadata_type

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef trie_node_metadata_dispatch<Key,Mapped,_ATraits,Node_Update,_Alloc>::type __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::metadata_type

Definition at line 69 of file pat_trie_/traits.hpp.

## node

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef base_type::_Node_base<synth_access_traits, metadata> __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::node

Definition at line 76 of file pat_trie_/traits.hpp.

## node_const_iterator

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef base_type::_Node_citer<node, leaf, head, inode, const_iterator, iterator, _Alloc> __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::node_const_iterator

This is an iterator to an iterator: it iterates over nodes, and de-referencing it returns one of the tree's iterators.

Definition at line 88 of file pat_trie_/traits.hpp.

## node_iterator

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef base_type::_Node_iter<node, leaf, head, inode, const_iterator, iterator, _Alloc> __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::node_iterator

Definition at line 90 of file pat_trie_/traits.hpp.

## node_update

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef Node_Update<node_const_iterator, node_iterator, _ATraits, _Alloc> __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::node_update

Type for node update.

Definition at line 93 of file pat_trie_/traits.hpp.

## null_node_update_pointer

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef null_node_update<node_const_iterator, node_iterator, _ATraits, _Alloc>* __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::null_node_update_pointer

Definition at line 95 of file pat_trie_/traits.hpp.

## reverse_iterator

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef base_type::_Iter<node, leaf, head, inode, false> __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::reverse_iterator

Definition at line 83 of file pat_trie_/traits.hpp.

## synth_access_traits

template<typename Key , typename Mapped , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >

typedef __gnu_pbds::detail::synth_access_traits<type_traits, false, access_traits> __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >::synth_access_traits

Type for synthesized traits.

Definition at line 74 of file pat_trie_/traits.hpp.

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

- pat_trie_/traits.hpp