41#ifndef PB_DS_BRANCH_POLICY_BASE_HPP
42#define PB_DS_BRANCH_POLICY_BASE_HPP
52 template<
typename Node_CItr,
typename Node_Itr,
typename _Alloc>
56 typedef typename Node_Itr::value_type it_type;
58 typedef typename value_type::first_type key_type;
60 typedef typename remove_const<value_type>::type rcvalue_type;
61 typedef typename remove_const<key_type>::type rckey_type;
66 typedef typename rebind_v::reference reference;
67 typedef typename rebind_v::const_reference const_reference;
68 typedef typename rebind_v::const_pointer const_pointer;
70 typedef typename rebind_k::const_reference key_const_reference;
72 static inline key_const_reference
73 extract_key(const_reference r_val)
74 {
return r_val.first; }
88 template<
typename Node_CItr,
typename _Alloc>
92 typedef typename Node_CItr::value_type it_type;
94 typedef typename remove_const<value_type>::type rcvalue_type;
96 typedef typename rebind_v::reference reference;
97 typedef typename rebind_v::const_reference const_reference;
98 typedef typename rebind_v::const_pointer const_pointer;
100 typedef value_type key_type;
101 typedef typename rebind_v::const_reference key_const_reference;
103 static inline key_const_reference
104 extract_key(const_reference r_val)
GNU extensions for policy-based data structures for public use.
Traits class for iterators.
Consistent API for accessing allocator-related types.
Primary template, base class for branch structure policies.