Commit 574dfb67 by Jonathan Wakely Committed by Jonathan Wakely

Adjust Doxygen processing of pb_ds containers

Several of the pb_ds headers are intended to be included multiple times,
within the definition of various class templates. The including files
define macros like PB_DS_CLASS_C_DEC and PB_DS_GEN_POS before including
these headers.

In some cases the types defined in the headers are actually nested types
within other classes, and so should not have been documented as though
they are declared in the global namespace, as in:
https://gcc.gnu.org/onlinedocs/gcc-8.3.0/libstdc++/api/a12028.html

In other cases the headers provide inline member function definitions,
but when processed by Doxygen the class name "PB_DS_CLASS_C_DEC" is not
recognised.

This patch makes Doxygen ignore definitions that only make sense when
included in the right context with the right macros defined.

	* include/ext/pb_ds/detail/bin_search_tree_/*_imps.hpp: Do not define
	anything unless PB_DS_CLASS_C_DEC is defined.
	* include/ext/pb_ds/detail/binary_heap_/*_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_/*_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/*_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/*_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/*_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/*_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/*_imps.hpp:
	Likewise.
	* include/ext/pb_ds/detail/list_update_map_/*_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/*_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/*_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/*_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/*_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/*_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy*_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/*_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/*_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/trie_policy*_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp:
	Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp:
	Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp:
	Likewise.

From-SVN: r270803
parent acd482ba
2019-05-02 Jonathan Wakely <jwakely@redhat.com> 2019-05-02 Jonathan Wakely <jwakely@redhat.com>
* include/ext/pb_ds/detail/bin_search_tree_/*_imps.hpp: Do not define
anything unless PB_DS_CLASS_C_DEC is defined.
* include/ext/pb_ds/detail/binary_heap_/*_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binomial_heap_/*_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binomial_heap_base_/*_imps.hpp: Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/*_imps.hpp: Likewise.
* include/ext/pb_ds/detail/gp_hash_table_map_/*_imps.hpp: Likewise.
* include/ext/pb_ds/detail/hash_fn/*_imp.hpp: Likewise.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/*_imps.hpp:
Likewise.
* include/ext/pb_ds/detail/list_update_map_/*_imps.hpp: Likewise.
* include/ext/pb_ds/detail/ov_tree_map_/*_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pairing_heap_/*_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/*_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rb_tree_map_/*_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rc_binomial_heap_/*_imps.hpp: Likewise.
* include/ext/pb_ds/detail/resize_policy*_imp.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/*_imps.hpp: Likewise.
* include/ext/pb_ds/detail/thin_heap_/*_imps.hpp: Likewise.
* include/ext/pb_ds/detail/trie_policy*_imp.hpp: Likewise.
* include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp:
Likewise.
* include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Likewise.
* include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp:
Likewise.
* include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp:
Likewise.
* doc/doxygen/user.cfg.in: Regenerate with Doxygen 1.8.14 and set * doc/doxygen/user.cfg.in: Regenerate with Doxygen 1.8.14 and set
GROUP_NESTED_COMPOUNDS=YES and SORT_BY_SCOPE_NAME=NO. Add various GROUP_NESTED_COMPOUNDS=YES and SORT_BY_SCOPE_NAME=NO. Add various
_GLIBCXX_xxx macros and __attribute__(X) to PREDEFINED macros that _GLIBCXX_xxx macros and __attribute__(X) to PREDEFINED macros that
......
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_. * Contains an implementation class for bin_search_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::node_allocator typename PB_DS_CLASS_C_DEC::node_allocator
PB_DS_CLASS_C_DEC::s_node_allocator; PB_DS_CLASS_C_DEC::s_node_allocator;
...@@ -215,4 +217,4 @@ initialize_min_max() ...@@ -215,4 +217,4 @@ initialize_min_max()
m_p_head->m_p_right = p_max; m_p_head->m_p_right = p_max;
} }
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_. * Contains an implementation class for bin_search_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -275,3 +277,4 @@ assert_size(const char* __file, int __line) const ...@@ -275,3 +277,4 @@ assert_size(const char* __file, int __line) const
{ PB_DS_DEBUG_VERIFY(recursive_count(m_p_head->m_p_parent) == m_size); } { PB_DS_DEBUG_VERIFY(recursive_count(m_p_head->m_p_parent) == m_size); }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_. * Contains an implementation class for bin_search_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -101,3 +103,4 @@ clear_imp(node_pointer p_nd) ...@@ -101,3 +103,4 @@ clear_imp(node_pointer p_nd)
p_nd->~node(); p_nd->~node();
s_node_allocator.deallocate(p_nd, 1); s_node_allocator.deallocate(p_nd, 1);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_. * Contains an implementation class for bin_search_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_const_iterator inline typename PB_DS_CLASS_C_DEC::point_const_iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -169,3 +171,4 @@ find(key_const_reference r_key) const ...@@ -169,3 +171,4 @@ find(key_const_reference r_key) const
} }
return point_const_iterator(ret); return point_const_iterator(ret);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_. * Contains an implementation class for bin_search_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
_GLIBCXX_NODISCARD _GLIBCXX_NODISCARD
inline bool inline bool
...@@ -63,3 +65,4 @@ max_size() const ...@@ -63,3 +65,4 @@ max_size() const
return (s_node_allocator.max_size()); return (s_node_allocator.max_size());
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_. * Contains an implementation class for bin_search_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool> inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -178,3 +180,4 @@ get_new_node_for_leaf_insert(const_reference r_val, true_type) ...@@ -178,3 +180,4 @@ get_new_node_for_leaf_insert(const_reference r_val, true_type)
++m_size; ++m_size;
return p_new_nd; return p_new_nd;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_. * Contains an implementation class for bin_search_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -134,3 +136,4 @@ node_end() ...@@ -134,3 +136,4 @@ node_end()
return (node_iterator(0)); return (node_iterator(0));
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_. * Contains an implementation class for bin_search_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
Cmp_Fn& Cmp_Fn&
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -50,3 +52,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -50,3 +52,4 @@ PB_DS_CLASS_C_DEC::
get_cmp_fn() const get_cmp_fn() const
{ return (*this); } { return (*this); }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_. * Contains an implementation class for bin_search_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -101,3 +103,4 @@ clear_imp(node_pointer p_nd) ...@@ -101,3 +103,4 @@ clear_imp(node_pointer p_nd)
p_nd->~Node(); p_nd->~Node();
s_node_allocator.deallocate(p_nd, 1); s_node_allocator.deallocate(p_nd, 1);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains imps for rotating nodes. * Contains imps for rotating nodes.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -153,3 +155,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -153,3 +155,4 @@ PB_DS_CLASS_C_DEC::
update_to_top(node_pointer /*p_nd*/, null_node_update_pointer /*p_update*/) update_to_top(node_pointer /*p_nd*/, null_node_update_pointer /*p_update*/)
{ } { }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_. * Contains an implementation class for bin_search_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
bool bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -148,3 +150,4 @@ recursive_count(node_pointer p) const ...@@ -148,3 +150,4 @@ recursive_count(node_pointer p) const
return 1 + recursive_count(p->m_p_left) + recursive_count(p->m_p_right); return 1 + recursive_count(p->m_p_left) + recursive_count(p->m_p_right);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for binary_heap_. * Contains an implementation class for binary_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::entry_allocator typename PB_DS_CLASS_C_DEC::entry_allocator
PB_DS_CLASS_C_DEC::s_entry_allocator; PB_DS_CLASS_C_DEC::s_entry_allocator;
...@@ -137,3 +139,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -137,3 +139,4 @@ PB_DS_CLASS_C_DEC::
erase_at(m_a_entries, i, s_no_throw_copies_ind); erase_at(m_a_entries, i, s_no_throw_copies_ind);
s_entry_allocator.deallocate(m_a_entries, m_actual_size); s_entry_allocator.deallocate(m_a_entries, m_actual_size);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap. * Contains an implementation class for a binary_heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -70,3 +72,4 @@ assert_valid(const char* __file, int __line) const ...@@ -70,3 +72,4 @@ assert_valid(const char* __file, int __line) const
} }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap. * Contains an implementation class for a binary_heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -206,3 +208,4 @@ partition(Pred pred) ...@@ -206,3 +208,4 @@ partition(Pred pred)
return left; return left;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap. * Contains an implementation class for a binary_heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::const_reference inline typename PB_DS_CLASS_C_DEC::const_reference
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -77,3 +79,4 @@ inline typename PB_DS_CLASS_C_DEC::size_type ...@@ -77,3 +79,4 @@ inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
parent(size_type i) parent(size_type i)
{ return (i - 1) / 2; } { return (i - 1) / 2; }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap. * Contains an implementation class for a binary_heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
_GLIBCXX_NODISCARD _GLIBCXX_NODISCARD
inline bool inline bool
...@@ -57,3 +59,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -57,3 +59,4 @@ PB_DS_CLASS_C_DEC::
max_size() const max_size() const
{ return s_entry_allocator.max_size(); } { return s_entry_allocator.max_size(); }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap. * Contains an implementation class for a binary_heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_iterator inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -171,3 +173,4 @@ swap_value_imp(entry_pointer p_e, const_reference r_new_val, false_type) ...@@ -171,3 +173,4 @@ swap_value_imp(entry_pointer p_e, const_reference r_new_val, false_type)
value_type tmp(r_new_val); value_type tmp(r_new_val);
(*p_e)->swap(tmp); (*p_e)->swap(tmp);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap. * Contains an implementation class for a binary_heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -62,3 +64,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -62,3 +64,4 @@ PB_DS_CLASS_C_DEC::
end() const end() const
{ return const_iterator(m_a_entries + m_size); } { return const_iterator(m_a_entries + m_size); }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap. * Contains an implementation class for a binary_heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
Cmp_Fn& Cmp_Fn&
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -54,3 +56,4 @@ get_cmp_fn() const ...@@ -54,3 +56,4 @@ get_cmp_fn() const
return (*this); return (*this);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap. * Contains an implementation class for a binary_heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
template<typename Pred> template<typename Pred>
void void
...@@ -158,3 +160,4 @@ join(PB_DS_CLASS_C_DEC& other) ...@@ -158,3 +160,4 @@ join(PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID((*this)) PB_DS_ASSERT_VALID((*this))
PB_DS_ASSERT_VALID(other) PB_DS_ASSERT_VALID(other)
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap. * Contains an implementation class for a binary_heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef PB_DS_BINARY_HEAP_TRACE_ #ifdef PB_DS_BINARY_HEAP_TRACE_
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -76,3 +78,4 @@ trace_entry(const entry& r_e, true_type) const ...@@ -76,3 +78,4 @@ trace_entry(const entry& r_e, true_type) const
} }
#endif // #ifdef PB_DS_BINARY_HEAP_TRACE_ #endif // #ifdef PB_DS_BINARY_HEAP_TRACE_
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for binomial_heap_. * Contains an implementation for binomial_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
binomial_heap() binomial_heap()
...@@ -58,3 +60,4 @@ binomial_heap(const PB_DS_CLASS_C_DEC& other) ...@@ -58,3 +60,4 @@ binomial_heap(const PB_DS_CLASS_C_DEC& other)
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
~binomial_heap() { } ~binomial_heap() { }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for binomial_heap_. * Contains an implementation for binomial_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -47,3 +49,4 @@ assert_valid(const char* __file, int __line) const ...@@ -47,3 +49,4 @@ assert_valid(const char* __file, int __line) const
{ base_type::assert_valid(true, __file, __line); } { base_type::assert_valid(true, __file, __line); }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a base of binomial heaps. * Contains an implementation class for a base of binomial heaps.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
template<typename It> template<typename It>
void void
...@@ -83,3 +85,4 @@ PB_DS_CLASS_T_DEC ...@@ -83,3 +85,4 @@ PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
~binomial_heap_base() ~binomial_heap_base()
{ } { }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a base of binomial heaps. * Contains an implementation class for a base of binomial heaps.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -98,3 +100,4 @@ assert_node_consistent(node_const_pointer p_nd, bool strictly_binomial, ...@@ -98,3 +100,4 @@ assert_node_consistent(node_const_pointer p_nd, bool strictly_binomial,
} }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a base of binomial heaps. * Contains an implementation class for a base of binomial heaps.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -159,3 +161,4 @@ erase_if(Pred pred) ...@@ -159,3 +161,4 @@ erase_if(Pred pred)
PB_DS_ASSERT_VALID_COND((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
return ersd; return ersd;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a base of binomial heaps. * Contains an implementation class for a base of binomial heaps.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::const_reference inline typename PB_DS_CLASS_C_DEC::const_reference
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -68,3 +70,4 @@ find_max() ...@@ -68,3 +70,4 @@ find_max()
} }
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a base of binomial heaps. * Contains an implementation class for a base of binomial heaps.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_iterator inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -176,3 +178,4 @@ modify(point_iterator it, const_reference r_new_val) ...@@ -176,3 +178,4 @@ modify(point_iterator it, const_reference r_new_val)
m_p_max = 0; m_p_max = 0;
PB_DS_ASSERT_VALID_COND((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a base of binomial heaps. * Contains an implementation class for a base of binomial heaps.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
template<typename Pred> template<typename Pred>
void void
...@@ -195,3 +197,4 @@ join(node_pointer p_lhs, node_pointer p_rhs) const ...@@ -195,3 +197,4 @@ join(node_pointer p_lhs, node_pointer p_rhs) const
return p_ret; return p_ret;
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* functions. * functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
template<typename Other_HT_Map_Type> template<typename Other_HT_Map_Type>
bool bool
...@@ -81,3 +83,4 @@ bool ...@@ -81,3 +83,4 @@ bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
operator!=(const Other_HT_Map_Type& other) const operator!=(const Other_HT_Map_Type& other) const
{ return !operator==(other); } { return !operator==(other); }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* and related functions. * and related functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::entry_allocator typename PB_DS_CLASS_C_DEC::entry_allocator
PB_DS_CLASS_C_DEC::s_entry_allocator; PB_DS_CLASS_C_DEC::s_entry_allocator;
...@@ -189,3 +191,4 @@ initialize() ...@@ -189,3 +191,4 @@ initialize()
Resize_Policy::notify_cleared(); Resize_Policy::notify_cleared();
ranged_hash_fn_base::notify_resized(m_num_e); ranged_hash_fn_base::notify_resized(m_num_e);
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* and related functions. * and related functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -53,3 +55,4 @@ constructor_insert_new_imp(mapped_const_reference r_val, size_type pos, ...@@ -53,3 +55,4 @@ constructor_insert_new_imp(mapped_const_reference r_val, size_type pos,
m_entries[pos] = p; m_entries[pos] = p;
_GLIBCXX_DEBUG_ONLY(debug_base::insert_new(r_key);) _GLIBCXX_DEBUG_ONLY(debug_base::insert_new(r_key);)
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* and related functions. * and related functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -54,3 +56,4 @@ constructor_insert_new_imp(const_reference r_val, size_type pos, true_type) ...@@ -54,3 +56,4 @@ constructor_insert_new_imp(const_reference r_val, size_type pos, true_type)
m_entries[pos] = p; m_entries[pos] = p;
_GLIBCXX_DEBUG_ONLY(debug_base::insert_new(r_key);) _GLIBCXX_DEBUG_ONLY(debug_base::insert_new(r_key);)
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s debug-mode functions. * Contains implementations of cc_ht_map_'s debug-mode functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -74,3 +76,4 @@ assert_entry_pointer_array_valid(const entry_pointer_array a_p_entries, ...@@ -74,3 +76,4 @@ assert_entry_pointer_array_valid(const entry_pointer_array a_p_entries,
#include <ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp> #include <ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp>
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s debug-mode functions. * Contains implementations of cc_ht_map_'s debug-mode functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -48,3 +50,4 @@ assert_entry_pointer_valid(const entry_pointer p, false_type, ...@@ -48,3 +50,4 @@ assert_entry_pointer_valid(const entry_pointer p, false_type,
{ debug_base::check_key_exists(PB_DS_V2F(p->m_value), __file, __line); } { debug_base::check_key_exists(PB_DS_V2F(p->m_value), __file, __line); }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s debug-mode functions. * Contains implementations of cc_ht_map_'s debug-mode functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -52,3 +54,4 @@ assert_entry_pointer_valid(const entry_pointer p_e, true_type, ...@@ -52,3 +54,4 @@ assert_entry_pointer_valid(const entry_pointer p_e, true_type,
} }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s entry-list related functions. * Contains implementations of cc_ht_map_'s entry-list related functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -89,3 +91,4 @@ rels_entry(entry_pointer p_e) ...@@ -89,3 +91,4 @@ rels_entry(entry_pointer p_e)
s_entry_allocator.deallocate(p_e, 1); s_entry_allocator.deallocate(p_e, 1);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s erase related functions. * Contains implementations of cc_ht_map_'s erase related functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -101,3 +103,4 @@ clear() ...@@ -101,3 +103,4 @@ clear()
#include <ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp> #include <ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp>
#include <ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp> #include <ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp>
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* when the hash value is not stored. * when the hash value is not stored.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline bool inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -98,3 +100,4 @@ erase_in_pos_imp(key_const_reference r_key, size_type pos) ...@@ -98,3 +100,4 @@ erase_in_pos_imp(key_const_reference r_key, size_type pos)
p_e = p_next_e; p_e = p_next_e;
} }
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* when the hash value is stored. * when the hash value is stored.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline bool inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -92,3 +94,4 @@ erase_in_pos_imp(key_const_reference r_key, const comp_hash& r_pos_hash_pair) ...@@ -92,3 +94,4 @@ erase_in_pos_imp(key_const_reference r_key, const comp_hash& r_pos_hash_pair)
p_e = p_next_e; p_e = p_next_e;
} }
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s find related functions. * Contains implementations of cc_ht_map_'s find related functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_iterator inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -69,3 +71,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -69,3 +71,4 @@ PB_DS_CLASS_C_DEC::
find_end() const find_end() const
{ return 0; } { return 0; }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* functions. * functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::size_type inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -99,3 +101,4 @@ bool ...@@ -99,3 +101,4 @@ bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
operator!=(const Other_HT_Map_Type& other) const operator!=(const Other_HT_Map_Type& other) const
{ return !operator==(other); } { return !operator==(other); }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* when the hash value is not stored. * when the hash value is not stored.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool> inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -68,3 +70,4 @@ insert_imp(const_reference r_val, false_type) ...@@ -68,3 +70,4 @@ insert_imp(const_reference r_val, false_type)
return std::make_pair(insert_new_imp(r_val, pos), true); return std::make_pair(insert_new_imp(r_val, pos), true);
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* when the hash value is stored. * when the hash value is stored.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool> inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -69,3 +71,4 @@ insert_imp(const_reference r_val, true_type) ...@@ -69,3 +71,4 @@ insert_imp(const_reference r_val, true_type)
return std::make_pair(insert_new_imp(r_val, pos_hash_pair), true); return std::make_pair(insert_new_imp(r_val, pos_hash_pair), true);
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* begin(). * begin().
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::iterator typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC::s_end_it; PB_DS_CLASS_C_DEC::s_end_it;
...@@ -81,3 +83,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -81,3 +83,4 @@ PB_DS_CLASS_C_DEC::
end() const end() const
{ return s_const_end_it; } { return s_const_end_it; }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* functions. * functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
Hash_Fn& Hash_Fn&
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -86,3 +88,4 @@ const Resize_Policy& ...@@ -86,3 +88,4 @@ const Resize_Policy&
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
get_resize_policy() const get_resize_policy() const
{ return *this; } { return *this; }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s resize related functions. * Contains implementations of cc_ht_map_'s resize related functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline bool inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -132,3 +134,4 @@ resize_imp_no_exceptions(size_type new_size, entry_pointer_array a_p_entries_res ...@@ -132,3 +134,4 @@ resize_imp_no_exceptions(size_type new_size, entry_pointer_array a_p_entries_res
#include <ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp> #include <ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp>
#include <ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp> #include <ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp>
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* hash value is not stored. * hash value is not stored.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::entry_pointer inline typename PB_DS_CLASS_C_DEC::entry_pointer
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -52,3 +54,4 @@ resize_imp_no_exceptions_reassign_pointer(entry_pointer p_e, entry_pointer_array ...@@ -52,3 +54,4 @@ resize_imp_no_exceptions_reassign_pointer(entry_pointer p_e, entry_pointer_array
a_p_entries_resized[hash_pos] = p_e; a_p_entries_resized[hash_pos] = p_e;
return p_next_e; return p_next_e;
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* hash value is stored. * hash value is stored.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::entry_pointer inline typename PB_DS_CLASS_C_DEC::entry_pointer
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -52,3 +54,4 @@ resize_imp_no_exceptions_reassign_pointer(entry_pointer p_e, entry_pointer_array ...@@ -52,3 +54,4 @@ resize_imp_no_exceptions_reassign_pointer(entry_pointer p_e, entry_pointer_array
a_p_entries_resized[pos_hash_pair.first] = p_e; a_p_entries_resized[pos_hash_pair.first] = p_e;
return p_next_e; return p_next_e;
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* functions. * functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::size_type inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -58,3 +60,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -58,3 +60,4 @@ PB_DS_CLASS_C_DEC::
max_size() const max_size() const
{ return s_entry_allocator.max_size(); } { return s_entry_allocator.max_size(); }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s trace-mode functions. * Contains implementations of cc_ht_map_'s trace-mode functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef PB_DS_HT_MAP_TRACE_ #ifdef PB_DS_HT_MAP_TRACE_
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -70,3 +72,4 @@ trace_list(const_entry_pointer p_l) const ...@@ -70,3 +72,4 @@ trace_list(const_entry_pointer p_l) const
} }
#endif #endif
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* and related functions. * and related functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::entry_allocator typename PB_DS_CLASS_C_DEC::entry_allocator
PB_DS_CLASS_C_DEC::s_entry_allocator; PB_DS_CLASS_C_DEC::s_entry_allocator;
...@@ -221,3 +223,4 @@ initialize() ...@@ -221,3 +223,4 @@ initialize()
m_entries[i].m_stat = empty_entry_status; m_entries[i].m_stat = empty_entry_status;
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* and related functions. * and related functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -51,3 +53,4 @@ constructor_insert_new_imp(mapped_const_reference r_val, size_type pos, ...@@ -51,3 +53,4 @@ constructor_insert_new_imp(mapped_const_reference r_val, size_type pos,
p_e->m_stat = valid_entry_status; p_e->m_stat = valid_entry_status;
_GLIBCXX_DEBUG_ONLY(debug_base::insert_new(p_e->m_value.first);) _GLIBCXX_DEBUG_ONLY(debug_base::insert_new(p_e->m_value.first);)
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* and related functions. * and related functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -52,3 +54,4 @@ constructor_insert_new_imp(mapped_const_reference r_val, size_type pos, ...@@ -52,3 +54,4 @@ constructor_insert_new_imp(mapped_const_reference r_val, size_type pos,
p_e->m_stat = valid_entry_status; p_e->m_stat = valid_entry_status;
_GLIBCXX_DEBUG_ONLY(debug_base::insert_new(p_e->m_value.first);) _GLIBCXX_DEBUG_ONLY(debug_base::insert_new(p_e->m_value.first);)
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s debug-mode functions. * Contains implementations of gp_ht_map_'s debug-mode functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -54,3 +56,4 @@ assert_valid(const char* __file, int __line) const ...@@ -54,3 +56,4 @@ assert_valid(const char* __file, int __line) const
#include <ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp> #include <ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp>
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s debug-mode functions. * Contains implementations of gp_ht_map_'s debug-mode functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -70,3 +72,4 @@ assert_entry_array_valid(const entry_array a_entries, false_type, ...@@ -70,3 +72,4 @@ assert_entry_array_valid(const entry_array a_entries, false_type,
} }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s debug-mode functions. * Contains implementations of gp_ht_map_'s debug-mode functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -76,3 +78,4 @@ assert_entry_array_valid(const entry_array a_entries, true_type, ...@@ -76,3 +78,4 @@ assert_entry_array_valid(const entry_array a_entries, true_type,
} }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s erase related functions. * Contains implementations of gp_ht_map_'s erase related functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -98,3 +100,4 @@ erase(key_const_reference r_key) ...@@ -98,3 +100,4 @@ erase(key_const_reference r_key)
#include <ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp> #include <ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp>
#include <ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp> #include <ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp>
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* when the hash value is not stored. * when the hash value is not stored.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline bool inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -82,3 +84,4 @@ erase_imp(key_const_reference r_key, false_type) ...@@ -82,3 +84,4 @@ erase_imp(key_const_reference r_key, false_type)
return false; return false;
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* when the hash value is stored. * when the hash value is stored.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline bool inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -83,3 +85,4 @@ erase_imp(key_const_reference r_key, true_type) ...@@ -83,3 +85,4 @@ erase_imp(key_const_reference r_key, true_type)
return false; return false;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s find related functions. * Contains implementations of gp_ht_map_'s find related functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_iterator inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -68,3 +70,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -68,3 +70,4 @@ PB_DS_CLASS_C_DEC::
find_end() const find_end() const
{ return 0; } { return 0; }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* when the hash value is not stored. * when the hash value is not stored.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::pointer inline typename PB_DS_CLASS_C_DEC::pointer
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
......
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* functions. * functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::size_type inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -57,3 +59,4 @@ inline bool ...@@ -57,3 +59,4 @@ inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
empty() const empty() const
{ return (size() == 0); } { return (size() == 0); }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* when the hash value is not stored. * when the hash value is not stored.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::size_type inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -109,3 +111,4 @@ insert_imp(const_reference r_val, false_type) ...@@ -109,3 +111,4 @@ insert_imp(const_reference r_val, false_type)
return std::make_pair(insert_new_imp(r_val, pos), true); return std::make_pair(insert_new_imp(r_val, pos), true);
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* when the hash value is stored. * when the hash value is stored.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::comp_hash inline typename PB_DS_CLASS_C_DEC::comp_hash
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -116,3 +118,4 @@ insert_imp(const_reference r_val, true_type) ...@@ -116,3 +118,4 @@ insert_imp(const_reference r_val, true_type)
return std::make_pair(insert_new_imp(r_val, pos_hash_pair), true); return std::make_pair(insert_new_imp(r_val, pos_hash_pair), true);
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* begin(). * begin().
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::iterator typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC::s_end_it; PB_DS_CLASS_C_DEC::s_end_it;
...@@ -81,3 +83,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -81,3 +83,4 @@ PB_DS_CLASS_C_DEC::
end() const end() const
{ return s_const_end_it; } { return s_const_end_it; }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* functions. * functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
Hash_Fn& Hash_Fn&
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -98,3 +100,4 @@ const Resize_Policy& ...@@ -98,3 +100,4 @@ const Resize_Policy&
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
get_resize_policy() const get_resize_policy() const
{ return *this; } { return *this; }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s resize related functions. * Contains implementations of gp_ht_map_'s resize related functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline bool inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -137,3 +139,4 @@ resize_imp(entry_array a_entries_resized, size_type old_size) ...@@ -137,3 +139,4 @@ resize_imp(entry_array a_entries_resized, size_type old_size)
#include <ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp> #include <ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp>
#include <ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp> #include <ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp>
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* hash value is not stored. * hash value is not stored.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -70,3 +72,4 @@ resize_imp_reassign(entry_pointer p_e, entry_array a_entries_resized, ...@@ -70,3 +72,4 @@ resize_imp_reassign(entry_pointer p_e, entry_array a_entries_resized,
__throw_insert_error(); __throw_insert_error();
} }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* hash value is stored. * hash value is stored.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -72,3 +74,4 @@ resize_imp_reassign(entry_pointer p_e, entry_array a_entries_resized, ...@@ -72,3 +74,4 @@ resize_imp_reassign(entry_pointer p_e, entry_array a_entries_resized,
__throw_insert_error(); __throw_insert_error();
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s trace-mode functions. * Contains implementations of gp_ht_map_'s trace-mode functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef PB_DS_HT_MAP_TRACE_ #ifdef PB_DS_HT_MAP_TRACE_
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -72,3 +74,4 @@ trace() const ...@@ -72,3 +74,4 @@ trace() const
} }
#endif // #ifdef PB_DS_HT_MAP_TRACE_ #endif // #ifdef PB_DS_HT_MAP_TRACE_
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains a range-hashing policy implementation * Contains a range-hashing policy implementation
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -56,3 +58,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -56,3 +58,4 @@ PB_DS_CLASS_C_DEC::
operator()(size_type hash) const operator()(size_type hash) const
{ return mask_based_base::range_hash(hash); } { return mask_based_base::range_hash(hash); }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains a range-hashing policy implementation * Contains a range-hashing policy implementation
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -56,3 +58,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -56,3 +58,4 @@ PB_DS_CLASS_C_DEC::
operator()(size_type hash) const operator()(size_type hash) const
{ return mod_based_base::range_hash(hash); } { return mod_based_base::range_hash(hash); }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains a probe policy implementation * Contains a probe policy implementation
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -51,3 +53,4 @@ operator()(size_type i) const ...@@ -51,3 +53,4 @@ operator()(size_type i) const
{ {
return (i); return (i);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains a probe policy implementation * Contains a probe policy implementation
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -51,3 +53,4 @@ operator()(size_type i) const ...@@ -51,3 +53,4 @@ operator()(size_type i) const
{ {
return (i* i); return (i* i);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_. * Contains an implementation class for left_child_next_sibling_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::node_allocator typename PB_DS_CLASS_C_DEC::node_allocator
PB_DS_CLASS_C_DEC::s_node_allocator; PB_DS_CLASS_C_DEC::s_node_allocator;
...@@ -150,3 +152,4 @@ recursive_copy_node(node_const_pointer p_nd) ...@@ -150,3 +152,4 @@ recursive_copy_node(node_const_pointer p_nd)
return p_ret; return p_ret;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_. * Contains an implementation class for left_child_next_sibling_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -135,3 +137,4 @@ degree(node_const_pointer p_nd) ...@@ -135,3 +137,4 @@ degree(node_const_pointer p_nd)
} }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_. * Contains an implementation class for left_child_next_sibling_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -148,3 +150,4 @@ bubble_to_top(node_pointer p_nd) ...@@ -148,3 +150,4 @@ bubble_to_top(node_pointer p_nd)
} }
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_. * Contains an implementation class for left_child_next_sibling_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
_GLIBCXX_NODISCARD _GLIBCXX_NODISCARD
inline bool inline bool
...@@ -63,3 +65,4 @@ max_size() const ...@@ -63,3 +65,4 @@ max_size() const
return (s_node_allocator.max_size()); return (s_node_allocator.max_size());
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_. * Contains an implementation class for left_child_next_sibling_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::node_pointer inline typename PB_DS_CLASS_C_DEC::node_pointer
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -173,3 +175,4 @@ swap_with_parent(node_pointer p_nd, node_pointer p_parent) ...@@ -173,3 +175,4 @@ swap_with_parent(node_pointer p_nd, node_pointer p_parent)
_GLIBCXX_DEBUG_ASSERT(parent(p_parent) == p_nd); _GLIBCXX_DEBUG_ASSERT(parent(p_parent) == p_nd);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_. * Contains an implementation class for left_child_next_sibling_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -86,3 +88,4 @@ end() const ...@@ -86,3 +88,4 @@ end() const
return (const_iterator(0)); return (const_iterator(0));
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_. * Contains an implementation class for left_child_next_sibling_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
Cmp_Fn& Cmp_Fn&
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -50,3 +52,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -50,3 +52,4 @@ PB_DS_CLASS_C_DEC::
get_cmp_fn() const get_cmp_fn() const
{ return *this; } { return *this; }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_. * Contains an implementation class for left_child_next_sibling_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef PB_DS_LC_NS_HEAP_TRACE_ #ifdef PB_DS_LC_NS_HEAP_TRACE_
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -88,3 +90,4 @@ trace_node_metadata(node_const_pointer, type_to_type<null_type>) ...@@ -88,3 +90,4 @@ trace_node_metadata(node_const_pointer, type_to_type<null_type>)
{ } { }
#endif // #ifdef PB_DS_LC_NS_HEAP_TRACE_ #endif // #ifdef PB_DS_LC_NS_HEAP_TRACE_
#endif
...@@ -37,6 +37,8 @@ ...@@ -37,6 +37,8 @@
* @file list_update_map_/constructor_destructor_fn_imps.hpp * @file list_update_map_/constructor_destructor_fn_imps.hpp
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::entry_allocator typename PB_DS_CLASS_C_DEC::entry_allocator
PB_DS_CLASS_C_DEC::s_entry_allocator; PB_DS_CLASS_C_DEC::s_entry_allocator;
...@@ -134,3 +136,4 @@ PB_DS_CLASS_T_DEC ...@@ -134,3 +136,4 @@ PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
~PB_DS_LU_NAME() ~PB_DS_LU_NAME()
{ deallocate_all(); } { deallocate_all(); }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s debug-mode functions. * Contains implementations of cc_ht_map_'s debug-mode functions.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -55,3 +57,4 @@ assert_valid(const char* __file, int __line) const ...@@ -55,3 +57,4 @@ assert_valid(const char* __file, int __line) const
} }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of lu_map_. * Contains implementations of lu_map_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline bool inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -132,3 +134,4 @@ actual_erase_entry(entry_pointer p_l) ...@@ -132,3 +134,4 @@ actual_erase_entry(entry_pointer p_l)
s_entry_allocator.deallocate(p_l, 1); s_entry_allocator.deallocate(p_l, 1);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of lu_map_. * Contains implementations of lu_map_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::entry_pointer inline typename PB_DS_CLASS_C_DEC::entry_pointer
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -88,3 +90,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -88,3 +90,4 @@ PB_DS_CLASS_C_DEC::
apply_update(entry_pointer, type_to_type<null_type>) apply_update(entry_pointer, type_to_type<null_type>)
{ return s_update_policy(s_null_type); } { return s_update_policy(s_null_type); }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of lu_map_. * Contains implementations of lu_map_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::size_type inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -56,3 +58,4 @@ inline bool ...@@ -56,3 +58,4 @@ inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
empty() const empty() const
{ return (m_p_l == 0); } { return (m_p_l == 0); }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of lu_map_. * Contains implementations of lu_map_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline std::pair< inline std::pair<
typename PB_DS_CLASS_C_DEC::point_iterator, typename PB_DS_CLASS_C_DEC::point_iterator,
...@@ -104,3 +106,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -104,3 +106,4 @@ PB_DS_CLASS_C_DEC::
init_entry_metadata(entry_pointer, type_to_type<null_type>) init_entry_metadata(entry_pointer, type_to_type<null_type>)
{ } { }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of lu_map_. * Contains implementations of lu_map_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -78,3 +80,4 @@ end() const ...@@ -78,3 +80,4 @@ end() const
return const_iterator(0, 0, const_cast<PB_DS_CLASS_C_DEC*>(this)); return const_iterator(0, 0, const_cast<PB_DS_CLASS_C_DEC*>(this));
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains implementations of lu_map_. * Contains implementations of lu_map_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef PB_DS_LU_MAP_TRACE_ #ifdef PB_DS_LU_MAP_TRACE_
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -57,3 +59,4 @@ trace() const ...@@ -57,3 +59,4 @@ trace() const
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_. * Contains an implementation class for ov_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::value_allocator typename PB_DS_CLASS_C_DEC::value_allocator
PB_DS_CLASS_C_DEC::s_value_alloc; PB_DS_CLASS_C_DEC::s_value_alloc;
...@@ -255,3 +257,4 @@ update(node_iterator nd_it, Node_Update* p_update) ...@@ -255,3 +257,4 @@ update(node_iterator nd_it, Node_Update* p_update)
node_update::operator()(nd_it, end_it); node_update::operator()(nd_it, end_it);
} }
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_. * Contains an implementation class for ov_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -77,3 +79,4 @@ assert_iterators(const char* __file, int __line) const ...@@ -77,3 +79,4 @@ assert_iterators(const char* __file, int __line) const
} }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_. * Contains an implementation class for ov_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -189,3 +191,4 @@ erase(key_const_reference r_key) ...@@ -189,3 +191,4 @@ erase(key_const_reference r_key)
erase(it); erase(it);
return true; return true;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_. * Contains an implementation class for ov_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::size_type inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -59,3 +61,4 @@ inline bool ...@@ -59,3 +61,4 @@ inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
empty() const empty() const
{ return size() == 0; } { return size() == 0; }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_. * Contains an implementation class for ov_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -61,3 +63,4 @@ reallocate_metadata(Node_Update_* , size_type new_size) ...@@ -61,3 +63,4 @@ reallocate_metadata(Node_Update_* , size_type new_size)
std::swap(m_a_metadata, a_new_metadata_vec); std::swap(m_a_metadata, a_new_metadata_vec);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_. * Contains an implementation class for ov_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::node_const_iterator inline typename PB_DS_CLASS_C_DEC::node_const_iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -101,3 +103,4 @@ PB_DS_node_end_imp() ...@@ -101,3 +103,4 @@ PB_DS_node_end_imp()
end(),(m_a_metadata == 0) ? 0 : m_a_metadata + m_size); end(),(m_a_metadata == 0) ? 0 : m_a_metadata + m_size);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree. * Contains an implementation class for ov_tree.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
Cmp_Fn& Cmp_Fn&
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -49,3 +51,4 @@ const Cmp_Fn& ...@@ -49,3 +51,4 @@ const Cmp_Fn&
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
get_cmp_fn() const get_cmp_fn() const
{ return *this; } { return *this; }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_. * Contains an implementation class for ov_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -130,3 +132,4 @@ join(PB_DS_CLASS_C_DEC& other) ...@@ -130,3 +132,4 @@ join(PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID((*this)) PB_DS_ASSERT_VALID((*this))
PB_DS_ASSERT_VALID(other) PB_DS_ASSERT_VALID(other)
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a pairing heap. * Contains an implementation class for a pairing heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
template<typename It> template<typename It>
void void
...@@ -80,3 +82,4 @@ PB_DS_CLASS_T_DEC ...@@ -80,3 +82,4 @@ PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
~pairing_heap() ~pairing_heap()
{ } { }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a pairing heap. * Contains an implementation class for a pairing heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -51,3 +53,4 @@ assert_valid(const char* __file, int __line) const ...@@ -51,3 +53,4 @@ assert_valid(const char* __file, int __line) const
} }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a pairing heap. * Contains an implementation class for a pairing heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -231,3 +233,4 @@ erase_if(Pred pred) ...@@ -231,3 +233,4 @@ erase_if(Pred pred)
return ersd; return ersd;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a pairing heap. * Contains an implementation class for a pairing heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::const_reference inline typename PB_DS_CLASS_C_DEC::const_reference
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -47,3 +49,4 @@ top() const ...@@ -47,3 +49,4 @@ top() const
_GLIBCXX_DEBUG_ASSERT(!base_type::empty()); _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
return base_type::m_p_root->m_value; return base_type::m_p_root->m_value;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a pairing heap. * Contains an implementation class for a pairing heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_iterator inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -86,3 +88,4 @@ modify(point_iterator it, const_reference r_new_val) ...@@ -86,3 +88,4 @@ modify(point_iterator it, const_reference r_new_val)
push_imp(it.m_p_nd); push_imp(it.m_p_nd);
PB_DS_ASSERT_VALID((*this)) PB_DS_ASSERT_VALID((*this))
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for a pairing heap. * Contains an implementation class for a pairing heap.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
template<typename Pred> template<typename Pred>
void void
...@@ -121,3 +123,4 @@ join(PB_DS_CLASS_C_DEC& other) ...@@ -121,3 +123,4 @@ join(PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID((*this)) PB_DS_ASSERT_VALID((*this))
PB_DS_ASSERT_VALID(other) PB_DS_ASSERT_VALID(other)
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie. * Contains an implementation class for pat_trie.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::head_allocator typename PB_DS_CLASS_C_DEC::head_allocator
PB_DS_CLASS_C_DEC::s_head_allocator; PB_DS_CLASS_C_DEC::s_head_allocator;
...@@ -212,3 +214,4 @@ recursive_copy_node(node_const_pointer p_ncp) ...@@ -212,3 +214,4 @@ recursive_copy_node(node_const_pointer p_ncp)
apply_update(p_ret, (node_update*)this); apply_update(p_ret, (node_update*)this);
return p_ret; return p_ret;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie_. * Contains an implementation class for pat_trie_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -113,3 +115,4 @@ recursive_count_leafs(node_const_pointer p_nd, const char* __file, int __line) ...@@ -113,3 +115,4 @@ recursive_count_leafs(node_const_pointer p_nd, const char* __file, int __line)
} }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie. * Contains an implementation class for pat_trie.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline bool inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -313,3 +315,4 @@ update_min_max_for_erased_leaf(leaf_pointer p_l) ...@@ -313,3 +315,4 @@ update_min_max_for_erased_leaf(leaf_pointer p_l)
m_p_head->m_p_max = it.m_p_nd; m_p_head->m_p_max = it.m_p_nd;
} }
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie. * Contains an implementation class for pat_trie.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_iterator inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -267,3 +269,4 @@ rightmost_descendant(node_pointer p_nd) ...@@ -267,3 +269,4 @@ rightmost_descendant(node_pointer p_nd)
return static_cast<inode_pointer>(p_nd)->rightmost_descendant(); return static_cast<inode_pointer>(p_nd)->rightmost_descendant();
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie. * Contains an implementation class for pat_trie.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
_GLIBCXX_NODISCARD _GLIBCXX_NODISCARD
inline bool inline bool
...@@ -57,3 +59,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -57,3 +59,4 @@ PB_DS_CLASS_C_DEC::
max_size() const max_size() const
{ return s_inode_allocator.max_size(); } { return s_inode_allocator.max_size(); }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie. * Contains an implementation class for pat_trie.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -470,3 +472,4 @@ update_min_max_for_inserted_leaf(leaf_pointer p_new_lf) ...@@ -470,3 +472,4 @@ update_min_max_for_inserted_leaf(leaf_pointer p_new_lf)
synth_access_traits::cmp_keys(PB_DS_V2F(static_cast<leaf_const_pointer>(m_p_head->m_p_max)->value()), PB_DS_V2F(p_new_lf->value()))) synth_access_traits::cmp_keys(PB_DS_V2F(static_cast<leaf_const_pointer>(m_p_head->m_p_max)->value()), PB_DS_V2F(p_new_lf->value())))
m_p_head->m_p_max = p_new_lf; m_p_head->m_p_max = p_new_lf;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie. * Contains an implementation class for pat_trie.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -118,3 +120,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -118,3 +120,4 @@ PB_DS_CLASS_C_DEC::
node_end() node_end()
{ return node_iterator(0, this); } { return node_iterator(0, this); }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie. * Contains an implementation class for pat_trie.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::access_traits& typename PB_DS_CLASS_C_DEC::access_traits&
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -61,3 +63,4 @@ const typename PB_DS_CLASS_C_DEC::node_update& ...@@ -61,3 +63,4 @@ const typename PB_DS_CLASS_C_DEC::node_update&
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
get_node_update() const get_node_update() const
{ return *this; } { return *this; }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie. * Contains an implementation class for pat_trie.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -101,3 +103,4 @@ clear_imp(node_pointer p_nd) ...@@ -101,3 +103,4 @@ clear_imp(node_pointer p_nd)
s_node_allocator.deallocate(p_nd, 1); s_node_allocator.deallocate(p_nd, 1);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains imps for rotating nodes. * Contains imps for rotating nodes.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -148,3 +150,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -148,3 +150,4 @@ PB_DS_CLASS_C_DEC::
update_to_top(node_pointer /*p_nd*/, __gnu_pbds::null_node_update* /*p_update*/) update_to_top(node_pointer /*p_nd*/, __gnu_pbds::null_node_update* /*p_update*/)
{ } { }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie. * Contains an implementation class for pat_trie.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -248,3 +250,4 @@ split_insert_branch(size_type e_ind, a_const_iterator b_it, ...@@ -248,3 +250,4 @@ split_insert_branch(size_type e_ind, a_const_iterator b_it,
apply_update(m_p_head->m_p_parent, (node_update*)this); apply_update(m_p_head->m_p_parent, (node_update*)this);
PB_DS_ASSERT_NODE_VALID(m_p_head->m_p_parent) PB_DS_ASSERT_NODE_VALID(m_p_head->m_p_parent)
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie_. * Contains an implementation class for pat_trie_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef PB_DS_PAT_TRIE_TRACE_ #ifdef PB_DS_PAT_TRIE_TRACE_
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -109,3 +111,4 @@ trace_node_metadata(node_const_pointer, type_to_type<null_type>) ...@@ -109,3 +111,4 @@ trace_node_metadata(node_const_pointer, type_to_type<null_type>)
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie_. * Contains an implementation class for pat_trie_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -53,3 +55,4 @@ apply_update(node_pointer p_nd, Node_Update_*) ...@@ -53,3 +55,4 @@ apply_update(node_pointer p_nd, Node_Update_*)
Node_Update_::operator()(node_iterator(p_nd, this), Node_Update_::operator()(node_iterator(p_nd, this),
node_const_iterator(0, this)); node_const_iterator(0, this));
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for rb_tree_. * Contains an implementation for rb_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
template<typename It> template<typename It>
void void
...@@ -98,3 +100,4 @@ void ...@@ -98,3 +100,4 @@ void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
initialize() initialize()
{ base_type::m_p_head->m_red = true; } { base_type::m_p_head->m_red = true; }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for rb_tree_. * Contains an implementation for rb_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -79,3 +81,4 @@ assert_valid(const char* __file, int __line) const ...@@ -79,3 +81,4 @@ assert_valid(const char* __file, int __line) const
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for rb_tree_. * Contains an implementation for rb_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline bool inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -287,3 +289,4 @@ remove_fixup(node_pointer p_x, node_pointer p_new_x_parent) ...@@ -287,3 +289,4 @@ remove_fixup(node_pointer p_x, node_pointer p_new_x_parent)
if (p_x != 0) if (p_x != 0)
p_x->m_red = false; p_x->m_red = false;
} }
#endif
...@@ -38,9 +38,12 @@ ...@@ -38,9 +38,12 @@
* Contains an implementation for rb_tree_. * Contains an implementation for rb_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline bool inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
is_effectively_black(const node_pointer p_nd) is_effectively_black(const node_pointer p_nd)
{ return (p_nd == 0 || !p_nd->m_red); } { return (p_nd == 0 || !p_nd->m_red); }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for rb_tree_. * Contains an implementation for rb_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool> inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -113,3 +115,4 @@ insert_fixup(node_pointer p_nd) ...@@ -113,3 +115,4 @@ insert_fixup(node_pointer p_nd)
base_type::update_to_top(p_nd, (node_update* )this); base_type::update_to_top(p_nd, (node_update* )this);
base_type::m_p_head->m_p_parent->m_red = false; base_type::m_p_head->m_p_parent->m_red = false;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for rb_tree_. * Contains an implementation for rb_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -304,3 +306,4 @@ split_at_node(node_pointer p_nd, PB_DS_CLASS_C_DEC& other) ...@@ -304,3 +306,4 @@ split_at_node(node_pointer p_nd, PB_DS_CLASS_C_DEC& other)
PB_DS_STRUCT_ONLY_ASSERT_VALID(other) PB_DS_STRUCT_ONLY_ASSERT_VALID(other)
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for rc_binomial_heap_. * Contains an implementation for rc_binomial_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
rc_binomial_heap() rc_binomial_heap()
...@@ -82,3 +84,4 @@ swap(PB_DS_CLASS_C_DEC& other) ...@@ -82,3 +84,4 @@ swap(PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID((*this)) PB_DS_ASSERT_VALID((*this))
PB_DS_ASSERT_VALID(other) PB_DS_ASSERT_VALID(other)
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for rc_binomial_heap_. * Contains an implementation for rc_binomial_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -119,3 +121,4 @@ next_after_0_pointer(node_const_pointer p_nd) ...@@ -119,3 +121,4 @@ next_after_0_pointer(node_const_pointer p_nd)
} }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for rc_binomial_heap_. * Contains an implementation for rc_binomial_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -105,3 +107,4 @@ erase(point_iterator it) ...@@ -105,3 +107,4 @@ erase(point_iterator it)
base_type::find_max(); base_type::find_max();
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for rc_binomial_heap_. * Contains an implementation for rc_binomial_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_iterator inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -152,3 +154,4 @@ make_0_exposed() ...@@ -152,3 +154,4 @@ make_0_exposed()
if (p_res->m_p_next_sibling != 0&& p_res->m_metadata == p_res->m_p_next_sibling->m_metadata) if (p_res->m_p_next_sibling != 0&& p_res->m_metadata == p_res->m_p_next_sibling->m_metadata)
m_rc.push(p_res); m_rc.push(p_res);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for rc_binomial_heap_. * Contains an implementation for rc_binomial_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
template<typename Pred> template<typename Pred>
void void
...@@ -75,3 +77,4 @@ join(PB_DS_CLASS_C_DEC& other) ...@@ -75,3 +77,4 @@ join(PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID(other) PB_DS_ASSERT_VALID(other)
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for rc_binomial_heap_. * Contains an implementation for rc_binomial_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_ #ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -50,3 +52,4 @@ trace() const ...@@ -50,3 +52,4 @@ trace() const
} }
#endif // #ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_ #endif // #ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains a resize trigger implementation. * Contains a resize trigger implementation.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
cc_hash_max_collision_check_resize_trigger(float load) : cc_hash_max_collision_check_resize_trigger(float load) :
...@@ -209,3 +211,4 @@ set_load(float load) ...@@ -209,3 +211,4 @@ set_load(float load)
calc_resize_needed(); calc_resize_needed();
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains a resize size policy implementation. * Contains a resize size policy implementation.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
hash_exponential_size_policy(size_type start_size, size_type grow_factor) : hash_exponential_size_policy(size_type start_size, size_type grow_factor) :
...@@ -88,3 +90,4 @@ get_nearest_smaller_size(size_type size) const ...@@ -88,3 +90,4 @@ get_nearest_smaller_size(size_type size) const
return ret; return ret;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains a resize trigger implementation. * Contains a resize trigger implementation.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#define PB_DS_ASSERT_VALID(X) \ #define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);) _GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
...@@ -291,3 +293,4 @@ assert_valid(const char* __file, int __line) const ...@@ -291,3 +293,4 @@ assert_valid(const char* __file, int __line) const
# undef PB_DS_DEBUG_VERIFY # undef PB_DS_DEBUG_VERIFY
#endif #endif
#undef PB_DS_ASSERT_VALID #undef PB_DS_ASSERT_VALID
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains a resize size policy implementation. * Contains a resize size policy implementation.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#pragma GCC system_header #pragma GCC system_header
namespace detail namespace detail
...@@ -159,3 +161,4 @@ get_nearest_smaller_size(size_type n) const ...@@ -159,3 +161,4 @@ get_nearest_smaller_size(size_type n) const
return m_start_size; return m_start_size;
return *p_lower; return *p_lower;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains a resize policy implementation. * Contains a resize policy implementation.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
hash_standard_resize_policy() hash_standard_resize_policy()
...@@ -247,3 +249,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -247,3 +249,4 @@ PB_DS_CLASS_C_DEC::
get_size_policy() const get_size_policy() const
{ return *this; } { return *this; }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for splay_tree_. * Contains an implementation class for splay_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
template<typename It> template<typename It>
void void
...@@ -100,3 +102,4 @@ void ...@@ -100,3 +102,4 @@ void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
initialize() initialize()
{ base_type::m_p_head->m_special = true; } { base_type::m_p_head->m_special = true; }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for splay_tree_. * Contains an implementation class for splay_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -73,3 +75,4 @@ assert_special_imp(const node_pointer p_nd, ...@@ -73,3 +75,4 @@ assert_special_imp(const node_pointer p_nd,
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for splay_tree_. * Contains an implementation class for splay_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline bool inline bool
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -155,3 +157,4 @@ leftmost(node_pointer p_nd) ...@@ -155,3 +157,4 @@ leftmost(node_pointer p_nd)
p_nd = p_nd->m_p_left; p_nd = p_nd->m_p_left;
return p_nd; return p_nd;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for splay_tree_. * Contains an implementation class for splay_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_iterator inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -98,3 +100,4 @@ find_imp(key_const_reference r_key) const ...@@ -98,3 +100,4 @@ find_imp(key_const_reference r_key) const
p_nd = p_nd->m_p_right; p_nd = p_nd->m_p_right;
return base_type::m_p_head; return base_type::m_p_head;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for splay_tree_. * Contains an implementation class for splay_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool> inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -92,3 +94,4 @@ insert_leaf_imp(const_reference r_value) ...@@ -92,3 +94,4 @@ insert_leaf_imp(const_reference r_value)
return std::make_pair(this->insert_leaf_new(r_value, p_nd, false), true); return std::make_pair(this->insert_leaf_new(r_value, p_nd, false), true);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for splay_tree_. * Contains an implementation class for splay_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -279,3 +281,4 @@ splay_zz_end(node_pointer p_nd, node_pointer p_parent, ...@@ -279,3 +281,4 @@ splay_zz_end(node_pointer p_nd, node_pointer p_parent,
this->apply_update(p_nd, (node_update*)this); this->apply_update(p_nd, (node_update*)this);
PB_DS_ASSERT_BASE_NODE_CONSISTENT(p_nd) PB_DS_ASSERT_BASE_NODE_CONSISTENT(p_nd)
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for splay_tree_. * Contains an implementation class for splay_tree_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline void inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -110,3 +112,4 @@ split(key_const_reference r_key, PB_DS_CLASS_C_DEC& other) ...@@ -110,3 +112,4 @@ split(key_const_reference r_key, PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID(other) PB_DS_ASSERT_VALID(other)
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for thin_heap_. * Contains an implementation for thin_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
template<typename It> template<typename It>
void void
...@@ -103,3 +105,4 @@ PB_DS_CLASS_C_DEC:: ...@@ -103,3 +105,4 @@ PB_DS_CLASS_C_DEC::
initialize() initialize()
{ std::fill(m_a_aux, m_a_aux + max_rank, static_cast<node_pointer>(0)); } { std::fill(m_a_aux, m_a_aux + max_rank, static_cast<node_pointer>(0)); }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for thin_heap_. * Contains an implementation for thin_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -117,3 +119,4 @@ assert_node_consistent(node_const_pointer p_nd, bool root, ...@@ -117,3 +119,4 @@ assert_node_consistent(node_const_pointer p_nd, bool root,
} }
#endif #endif
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for thin_heap_. * Contains an implementation for thin_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
void void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -253,3 +255,4 @@ rank_bound() ...@@ -253,3 +255,4 @@ rank_bound()
return (p_upper - g_a_rank_bounds); return (p_upper - g_a_rank_bounds);
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for thin_heap_. * Contains an implementation for thin_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::const_reference inline typename PB_DS_CLASS_C_DEC::const_reference
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -49,3 +51,4 @@ top() const ...@@ -49,3 +51,4 @@ top() const
_GLIBCXX_DEBUG_ASSERT(m_p_max != 0); _GLIBCXX_DEBUG_ASSERT(m_p_max != 0);
return m_p_max->m_value; return m_p_max->m_value;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for thin_heap_. * Contains an implementation for thin_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_iterator inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -278,3 +280,4 @@ update_max(node_pointer p_nd) ...@@ -278,3 +280,4 @@ update_max(node_pointer p_nd)
m_p_max = p_nd; m_p_max = p_nd;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation for thin_heap_. * Contains an implementation for thin_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
template<typename Pred> template<typename Pred>
void void
...@@ -106,3 +108,4 @@ join(PB_DS_CLASS_C_DEC& other) ...@@ -106,3 +108,4 @@ join(PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID((*this)) PB_DS_ASSERT_VALID((*this))
PB_DS_ASSERT_VALID(other) PB_DS_ASSERT_VALID(other)
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_. * Contains an implementation class for left_child_next_sibling_heap_.
*/ */
#ifdef PB_DS_CLASS_C_DEC
#ifdef PB_DS_THIN_HEAP_TRACE_ #ifdef PB_DS_THIN_HEAP_TRACE_
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -51,3 +53,4 @@ trace() const ...@@ -51,3 +53,4 @@ trace() const
} }
#endif // #ifdef PB_DS_THIN_HEAP_TRACE_ #endif // #ifdef PB_DS_THIN_HEAP_TRACE_
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains forward declarations for order_statistics_key * Contains forward declarations for order_statistics_key
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -119,3 +121,4 @@ PB_DS_CLASS_T_DEC ...@@ -119,3 +121,4 @@ PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
~tree_order_statistics_node_update() ~tree_order_statistics_node_update()
{ } { }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains forward declarations for order_statistics_key * Contains forward declarations for order_statistics_key
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -158,3 +160,4 @@ operator()(node_iterator nd_it, node_const_iterator /*end_nd_it*/) const ...@@ -158,3 +160,4 @@ operator()(node_iterator nd_it, node_const_iterator /*end_nd_it*/) const
const size_type res = (num_children == 0) ? 1 : children_rank; const size_type res = (num_children == 0) ? 1 : children_rank;
const_cast<size_type&>(nd_it.get_metadata()) = res; const_cast<size_type&>(nd_it.get_metadata()) = res;
} }
#endif
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
* Contains an implementation of prefix_search_node_update. * Contains an implementation of prefix_search_node_update.
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
std::pair< std::pair<
typename PB_DS_CLASS_C_DEC::const_iterator, typename PB_DS_CLASS_C_DEC::const_iterator,
...@@ -137,3 +139,4 @@ inline void ...@@ -137,3 +139,4 @@ inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
operator()(node_iterator /*nd_it*/, node_const_iterator /*end_nd_it*/) const operator()(node_iterator /*nd_it*/, node_const_iterator /*end_nd_it*/) const
{ } { }
#endif
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
* a string for a vector-based PATRICIA tree * a string for a vector-based PATRICIA tree
*/ */
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
detail::integral_constant<int, Reverse> PB_DS_CLASS_C_DEC::s_rev_ind; detail::integral_constant<int, Reverse> PB_DS_CLASS_C_DEC::s_rev_ind;
...@@ -97,3 +99,4 @@ end_imp(key_const_reference r_key, detail::true_type) ...@@ -97,3 +99,4 @@ end_imp(key_const_reference r_key, detail::true_type)
{ {
return (r_key.rend()); return (r_key.rend());
} }
#endif
...@@ -37,8 +37,12 @@ ...@@ -37,8 +37,12 @@
* @file unordered_iterator/const_iterator.hpp * @file unordered_iterator/const_iterator.hpp
* Contains an iterator class used for const ranging over the elements of the * Contains an iterator class used for const ranging over the elements of the
* table. * table.
*
* This file is intended to be included inside a class definition, with
* PB_DS_CLASS_C_DEC defined to the name of the enclosing class.
*/ */
#ifdef PB_DS_CLASS_C_DEC
/// Const range-type iterator. /// Const range-type iterator.
class const_iterator_ class const_iterator_
: public point_const_iterator_ : public point_const_iterator_
...@@ -109,3 +113,4 @@ protected: ...@@ -109,3 +113,4 @@ protected:
friend class PB_DS_CLASS_C_DEC; friend class PB_DS_CLASS_C_DEC;
}; };
#endif
...@@ -36,9 +36,13 @@ ...@@ -36,9 +36,13 @@
/** /**
* @file iterator.hpp * @file iterator.hpp
* Contains an iterator_ class used for ranging over the elements of the * Contains an iterator_ class used for ranging over the elements of the
* table. * table.
*
* This file is intended to be included inside a class definition, with
* PB_DS_CLASS_C_DEC defined to the name of the enclosing class.
*/ */
#ifdef PB_DS_CLASS_C_DEC
/// Range-type iterator. /// Range-type iterator.
class iterator_ class iterator_
: public const_iterator_ : public const_iterator_
...@@ -128,3 +132,4 @@ protected: ...@@ -128,3 +132,4 @@ protected:
friend class PB_DS_CLASS_C_DEC; friend class PB_DS_CLASS_C_DEC;
}; };
#endif
...@@ -36,9 +36,13 @@ ...@@ -36,9 +36,13 @@
/** /**
* @file unordered_iterator/point_const_iterator.hpp * @file unordered_iterator/point_const_iterator.hpp
* Contains an iterator class returned by the tables' const find and insert * Contains an iterator class returned by the tables' const find and insert
* methods. * methods.
*
* * This file is intended to be included inside a class definition, with
* PB_DS_CLASS_C_DEC defined to the name of the enclosing class.
*/ */
#ifdef PB_DS_CLASS_C_DEC
class point_iterator_; class point_iterator_;
/// Const point-type iterator. /// Const point-type iterator.
...@@ -130,4 +134,4 @@ protected: ...@@ -130,4 +134,4 @@ protected:
friend class PB_DS_CLASS_C_DEC; friend class PB_DS_CLASS_C_DEC;
}; };
#endif
...@@ -36,9 +36,13 @@ ...@@ -36,9 +36,13 @@
/** /**
* @file point_iterator.hpp * @file point_iterator.hpp
* Contains an iterator class returned by the tables' find and insert * Contains an iterator class returned by the tables' find and insert
* methods. * methods.
*
* This file is intended to be included inside a class definition, with
* PB_DS_CLASS_C_DEC defined to the name of the enclosing class.
*/ */
#ifdef PB_DS_CLASS_C_DEC
/// Find type iterator. /// Find type iterator.
class point_iterator_ class point_iterator_
{ {
...@@ -124,3 +128,4 @@ protected: ...@@ -124,3 +128,4 @@ protected:
protected: protected:
pointer m_p_value; pointer m_p_value;
}; };
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment