57 #define PB_DS_CLASS_T_DEC \ 
   58   template<typename Value_Type, typename Cmp_Fn, typename _Alloc> 
   60 #define PB_DS_CLASS_C_DEC \ 
   61   pairing_heap<Value_Type, Cmp_Fn, _Alloc> 
   64 #define PB_DS_P_HEAP_BASE \ 
   65   left_child_next_sibling_heap<Value_Type, Cmp_Fn, null_type, _Alloc, false> 
   67 #define PB_DS_P_HEAP_BASE \ 
   68   left_child_next_sibling_heap<Value_Type, Cmp_Fn, null_type, _Alloc> 
   76     template<
typename Value_Type, 
typename Cmp_Fn, 
typename _Alloc>
 
   81       typedef typename base_type::node_pointer      node_pointer;
 
   83       typedef typename _Alloc::template rebind<Value_Type>::other __rebind_a;
 
   86       typedef Value_Type                value_type;
 
   87       typedef Cmp_Fn                    cmp_fn;
 
   88       typedef _Alloc                    allocator_type;
 
   89       typedef typename _Alloc::size_type        size_type;
 
   90       typedef typename _Alloc::difference_type      difference_type;
 
   92       typedef typename __rebind_a::pointer      pointer;
 
   93       typedef typename __rebind_a::const_pointer    const_pointer;
 
   94       typedef typename __rebind_a::reference        reference;
 
   95       typedef typename __rebind_a::const_reference  const_reference;
 
  113       inline point_iterator
 
  114       push(const_reference);
 
  117       modify(point_iterator, const_reference);
 
  119       inline const_reference
 
  126       erase(point_iterator);
 
  128       template<
typename Pred>
 
  132       template<
typename Pred>
 
  141       template<
typename It>
 
  143       copy_from_range(It, It);
 
  145 #ifdef _GLIBCXX_DEBUG 
  147       assert_valid(
const char*, 
int) 
const;
 
  153       push_imp(node_pointer);
 
  156       join_node_children(node_pointer);
 
  159       forward_join(node_pointer, node_pointer);
 
  162       back_join(node_pointer, node_pointer);
 
  165       remove_node(node_pointer);
 
  168 #define PB_DS_ASSERT_NODE_CONSISTENT(_Node, _Bool) \ 
  169  _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(_Node, _Bool,    \ 
  170                                __FILE__, __LINE__);) 
  179 #undef PB_DS_ASSERT_NODE_CONSISTENT 
  180 #undef PB_DS_CLASS_C_DEC 
  181 #undef PB_DS_CLASS_T_DEC 
  182 #undef PB_DS_P_HEAP_BASE 
GNU extensions for policy-based data structures for public use. 
Const point-type iterator. 
Const point-type iterator.