GNU g++  v5.2.1
GNU Standard C++
__gnu_pbds::detail::trie_traits< Key, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc > Struct Template Reference

Specialization. More...

#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, metadatahead
 
typedef base_type::_Inode< synth_access_traits, metadatainode
 
typedef const_iterator iterator
 
typedef base_type::_Leaf< synth_access_traits, metadataleaf
 
typedef base_type::_Metadata< metadata_type, _Alloc > metadata
 
typedef trie_node_metadata_dispatch< Key, null_type, _ATraits, Node_Update, _Alloc >::type metadata_type
 
typedef base_type::_Node_base< synth_access_traits, metadatanode
 
typedef base_type::_Node_citer< node, leaf, head, inode, const_iterator, iterator, _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. More...
 
typedef node_const_iterator node_iterator
 
typedef Node_Update< node_const_iterator, node_iterator, _ATraits, _Alloc > node_update
 Type for node update. More...
 
typedef null_node_update< node_const_iterator, node_const_iterator, _ATraits, _Alloc > * null_node_update_pointer
 
typedef const_reverse_iterator reverse_iterator
 
typedef __gnu_pbds::detail::synth_access_traits< type_traits, true, access_traitssynth_access_traits
 Type for synthesized traits. More...
 

Private Types

typedef pat_trie_base base_type
 
typedef types_traits< Key, null_type, _Alloc, false > type_traits
 

Detailed Description

template<typename Key, 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, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >

Specialization.

Member Typedef Documentation

template<typename Key , 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, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::access_traits
template<typename Key , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >
typedef pat_trie_base __gnu_pbds::detail::trie_traits< Key, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::base_type
private
template<typename Key , 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, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::const_iterator
template<typename Key , 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, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::const_reverse_iterator
template<typename Key , 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, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::head
template<typename Key , 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, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::inode
template<typename Key , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >
typedef const_iterator __gnu_pbds::detail::trie_traits< Key, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::iterator
template<typename Key , 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, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::leaf
template<typename Key , 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, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::metadata
template<typename Key , 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, null_type, _ATraits, Node_Update, _Alloc>::type __gnu_pbds::detail::trie_traits< Key, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::metadata_type
template<typename Key , 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, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::node
template<typename Key , 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, null_type, _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.

template<typename Key , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >
typedef node_const_iterator __gnu_pbds::detail::trie_traits< Key, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::node_iterator
template<typename Key , 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, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::node_update

Type for node update.

template<typename Key , 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_const_iterator, _ATraits, _Alloc>* __gnu_pbds::detail::trie_traits< Key, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::null_node_update_pointer
template<typename Key , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >
typedef const_reverse_iterator __gnu_pbds::detail::trie_traits< Key, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::reverse_iterator
template<typename Key , 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, true, access_traits> __gnu_pbds::detail::trie_traits< Key, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::synth_access_traits

Type for synthesized traits.

template<typename Key , typename _ATraits , template< typename Node_CItr, typename Node_Itr, typename Cmp_Fn_, typename _Alloc_ > class Node_Update, typename _Alloc >
typedef types_traits<Key, null_type, _Alloc, false> __gnu_pbds::detail::trie_traits< Key, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >::type_traits
private

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