template<typename Key, typename Mapped, typename _ATraits = typename detail::default_trie_access_traits<Key>::type, typename Tag = pat_trie_tag, template< typename Node_CItr, typename Node_Itr, typename _ATraits_, typename _Alloc_ > class Node_Update = null_node_update, typename _Alloc = std::allocator<char>>
class __gnu_pbds::trie< Key, Mapped, _ATraits, Tag, Node_Update, _Alloc >
A trie-based container.
- Template Parameters
-
| Key | Key type. |
| Mapped | Map type. |
| _ATraits | Element access traits. |
| Tag | Instantiating data structure type, see container_tag. |
| Node_Update | Updates trie internal-nodes, restores invariants when invalidated. XXX See design::tree-based-containersnode invariants. |
| _Alloc | Allocator type. |
Base tag choice is pat_trie_tag.
Base is basic_branch.
Definition at line 731 of file assoc_container.hpp.
template<typename Key , typename Mapped , typename _ATraits = typename detail::default_trie_access_traits<Key>::type, typename Tag = pat_trie_tag, template< typename Node_CItr, typename Node_Itr, typename _ATraits_, typename _Alloc_ > class Node_Update = null_node_update, typename _Alloc = std::allocator<char>>
| typedef _ATraits __gnu_pbds::trie< Key, Mapped, _ATraits, Tag, Node_Update, _Alloc >::access_traits |
template<typename Key , typename Mapped , typename _ATraits = typename detail::default_trie_access_traits<Key>::type, typename Tag = pat_trie_tag, template< typename Node_CItr, typename Node_Itr, typename _ATraits_, typename _Alloc_ > class Node_Update = null_node_update, typename _Alloc = std::allocator<char>>
template<typename Key , typename Mapped , typename _ATraits = typename detail::default_trie_access_traits<Key>::type, typename Tag = pat_trie_tag, template< typename Node_CItr, typename Node_Itr, typename _ATraits_, typename _Alloc_ > class Node_Update = null_node_update, typename _Alloc = std::allocator<char>>
Constructor taking some policy objects. r_access_traits will be copied by the _ATraits object of the container object.
Definition at line 744 of file assoc_container.hpp.
template<typename Key , typename Mapped , typename _ATraits = typename detail::default_trie_access_traits<Key>::type, typename Tag = pat_trie_tag, template< typename Node_CItr, typename Node_Itr, typename _ATraits_, typename _Alloc_ > class Node_Update = null_node_update, typename _Alloc = std::allocator<char>>
template<typename It >
| __gnu_pbds::trie< Key, Mapped, _ATraits, Tag, Node_Update, _Alloc >::trie |
( |
It |
first, |
|
|
It |
last |
|
) |
| |
|
inline |
Constructor taking __iterators to a range of value_types. The value_types between first_it and last_it will be inserted into the container object.
Definition at line 751 of file assoc_container.hpp.
template<typename Key , typename Mapped , typename _ATraits = typename detail::default_trie_access_traits<Key>::type, typename Tag = pat_trie_tag, template< typename Node_CItr, typename Node_Itr, typename _ATraits_, typename _Alloc_ > class Node_Update = null_node_update, typename _Alloc = std::allocator<char>>
template<typename It >
Constructor taking __iterators to a range of value_types and some policy objects. The value_types between first_it and last_it will be inserted into the container object.
Definition at line 758 of file assoc_container.hpp.
template<typename Key , typename Mapped , typename _ATraits = typename detail::default_trie_access_traits<Key>::type, typename Tag = pat_trie_tag, template< typename Node_CItr, typename Node_Itr, typename _ATraits_, typename _Alloc_ > class Node_Update = null_node_update, typename _Alloc = std::allocator<char>>
| __gnu_pbds::trie< Key, Mapped, _ATraits, Tag, Node_Update, _Alloc >::trie |
( |
const trie< Key, Mapped, _ATraits, Tag, Node_Update, _Alloc > & |
other | ) |
|
|
inline |
template<typename Key , typename Mapped , typename _ATraits = typename detail::default_trie_access_traits<Key>::type, typename Tag = pat_trie_tag, template< typename Node_CItr, typename Node_Itr, typename _ATraits_, typename _Alloc_ > class Node_Update = null_node_update, typename _Alloc = std::allocator<char>>
template<typename Key , typename Mapped , typename _ATraits = typename detail::default_trie_access_traits<Key>::type, typename Tag = pat_trie_tag, template< typename Node_CItr, typename Node_Itr, typename _ATraits_, typename _Alloc_ > class Node_Update = null_node_update, typename _Alloc = std::allocator<char>>
| trie & __gnu_pbds::trie< Key, Mapped, _ATraits, Tag, Node_Update, _Alloc >::operator= |
( |
const trie< Key, Mapped, _ATraits, Tag, Node_Update, _Alloc > & |
other | ) |
|
|
inline |
template<typename Key , typename Mapped , typename _ATraits = typename detail::default_trie_access_traits<Key>::type, typename Tag = pat_trie_tag, template< typename Node_CItr, typename Node_Itr, typename _ATraits_, typename _Alloc_ > class Node_Update = null_node_update, typename _Alloc = std::allocator<char>>
| void __gnu_pbds::trie< Key, Mapped, _ATraits, Tag, Node_Update, _Alloc >::swap |
( |
trie< Key, Mapped, _ATraits, Tag, Node_Update, _Alloc > & |
other | ) |
|
|
inline |