GNU g++  v5.2.1
GNU Standard C++
__gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc > Class Template Reference

A branched, tree-like (tree, trie) container abstraction. More...

#include <assoc_container.hpp>

Inheritance diagram for __gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >:
Collaboration diagram for __gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >:

Public Types

typedef Node_Update node_update
 

Public Member Functions

virtual ~basic_branch ()
 

Protected Member Functions

 basic_branch ()
 
 basic_branch (const basic_branch &other)
 
template<typename T0 >
 basic_branch (T0 t0)
 
template<typename T0 , typename T1 >
 basic_branch (T0 t0, T1 t1)
 
template<typename T0 , typename T1 , typename T2 >
 basic_branch (T0 t0, T1 t1, T2 t2)
 
template<typename T0 , typename T1 , typename T2 , typename T3 >
 basic_branch (T0 t0, T1 t1, T2 t2, T3 t3)
 
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
 basic_branch (T0 t0, T1 t1, T2 t2, T3 t3, T4 t4)
 
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
 basic_branch (T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
 
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
 basic_branch (T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
 

Private Types

typedef detail::container_base_dispatch< Key, Mapped, _Alloc, Tag, Policy_Tl >::type base_type
 

Detailed Description

template<typename Key, typename Mapped, typename Tag, typename Node_Update, typename Policy_Tl, typename _Alloc>
class __gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >

A branched, tree-like (tree, trie) container abstraction.

Template Parameters
KeyKey type.
MappedMap type.
TagInstantiating data structure type, see container_tag.
Node_UpdateUpdates nodes, restores invariants.
Policy_TLPolicy typelist.
_AllocAllocator type.

Base is dispatched at compile time via Tag, from the following choices: tree_tag, trie_tag, and their descendants.

Base choices are: detail::ov_tree_map, detail::rb_tree_map, detail::splay_tree_map, and detail::pat_trie_map.

Member Typedef Documentation

template<typename Key, typename Mapped, typename Tag, typename Node_Update, typename Policy_Tl, typename _Alloc>
typedef detail::container_base_dispatch<Key, Mapped, _Alloc, Tag, Policy_Tl>::type __gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >::base_type
private
template<typename Key, typename Mapped, typename Tag, typename Node_Update, typename Policy_Tl, typename _Alloc>
typedef Node_Update __gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >::node_update

Constructor & Destructor Documentation

template<typename Key, typename Mapped, typename Tag, typename Node_Update, typename Policy_Tl, typename _Alloc>
virtual __gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >::~basic_branch ( )
inlinevirtual
template<typename Key, typename Mapped, typename Tag, typename Node_Update, typename Policy_Tl, typename _Alloc>
__gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >::basic_branch ( )
inlineprotected
template<typename Key, typename Mapped, typename Tag, typename Node_Update, typename Policy_Tl, typename _Alloc>
__gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >::basic_branch ( const basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc > &  other)
inlineprotected
template<typename Key, typename Mapped, typename Tag, typename Node_Update, typename Policy_Tl, typename _Alloc>
template<typename T0 >
__gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >::basic_branch ( T0  t0)
inlineprotected
template<typename Key, typename Mapped, typename Tag, typename Node_Update, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 >
__gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >::basic_branch ( T0  t0,
T1  t1 
)
inlineprotected
template<typename Key, typename Mapped, typename Tag, typename Node_Update, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 , typename T2 >
__gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >::basic_branch ( T0  t0,
T1  t1,
T2  t2 
)
inlineprotected
template<typename Key, typename Mapped, typename Tag, typename Node_Update, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 , typename T2 , typename T3 >
__gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >::basic_branch ( T0  t0,
T1  t1,
T2  t2,
T3  t3 
)
inlineprotected
template<typename Key, typename Mapped, typename Tag, typename Node_Update, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
__gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >::basic_branch ( T0  t0,
T1  t1,
T2  t2,
T3  t3,
T4  t4 
)
inlineprotected
template<typename Key, typename Mapped, typename Tag, typename Node_Update, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
__gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >::basic_branch ( T0  t0,
T1  t1,
T2  t2,
T3  t3,
T4  t4,
T5  t5 
)
inlineprotected
template<typename Key, typename Mapped, typename Tag, typename Node_Update, typename Policy_Tl, typename _Alloc>
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
__gnu_pbds::basic_branch< Key, Mapped, Tag, Node_Update, Policy_Tl, _Alloc >::basic_branch ( T0  t0,
T1  t1,
T2  t2,
T3  t3,
T4  t4,
T5  t5,
T6  t6 
)
inlineprotected

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