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>
* 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
GROUP_NESTED_COMPOUNDS=YES and SORT_BY_SCOPE_NAME=NO. Add various
_GLIBCXX_xxx macros and __attribute__(X) to PREDEFINED macros that
......
......@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::node_allocator
PB_DS_CLASS_C_DEC::s_node_allocator;
......@@ -215,4 +217,4 @@ initialize_min_max()
m_p_head->m_p_right = p_max;
}
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
......@@ -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); }
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
......@@ -101,3 +103,4 @@ clear_imp(node_pointer p_nd)
p_nd->~node();
s_node_allocator.deallocate(p_nd, 1);
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_const_iterator
PB_DS_CLASS_C_DEC::
......@@ -169,3 +171,4 @@ find(key_const_reference r_key) const
}
return point_const_iterator(ret);
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
_GLIBCXX_NODISCARD
inline bool
......@@ -63,3 +65,4 @@ max_size() const
return (s_node_allocator.max_size());
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
PB_DS_CLASS_C_DEC::
......@@ -178,3 +180,4 @@ get_new_node_for_leaf_insert(const_reference r_val, true_type)
++m_size;
return p_new_nd;
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC::
......@@ -134,3 +136,4 @@ node_end()
return (node_iterator(0));
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
Cmp_Fn&
PB_DS_CLASS_C_DEC::
......@@ -50,3 +52,4 @@ PB_DS_CLASS_C_DEC::
get_cmp_fn() const
{ return (*this); }
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
......@@ -101,3 +103,4 @@ clear_imp(node_pointer p_nd)
p_nd->~Node();
s_node_allocator.deallocate(p_nd, 1);
}
#endif
......@@ -38,6 +38,8 @@
* Contains imps for rotating nodes.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline void
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*/)
{ }
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for bin_search_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
bool
PB_DS_CLASS_C_DEC::
......@@ -148,3 +150,4 @@ recursive_count(node_pointer p) const
return 1 + recursive_count(p->m_p_left) + recursive_count(p->m_p_right);
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for binary_heap_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::entry_allocator
PB_DS_CLASS_C_DEC::s_entry_allocator;
......@@ -137,3 +139,4 @@ PB_DS_CLASS_C_DEC::
erase_at(m_a_entries, i, s_no_throw_copies_ind);
s_entry_allocator.deallocate(m_a_entries, m_actual_size);
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
......@@ -70,3 +72,4 @@ assert_valid(const char* __file, int __line) const
}
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
......@@ -206,3 +208,4 @@ partition(Pred pred)
return left;
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::const_reference
PB_DS_CLASS_C_DEC::
......@@ -77,3 +79,4 @@ inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC::
parent(size_type i)
{ return (i - 1) / 2; }
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
_GLIBCXX_NODISCARD
inline bool
......@@ -57,3 +59,4 @@ PB_DS_CLASS_C_DEC::
max_size() const
{ return s_entry_allocator.max_size(); }
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC::
......@@ -171,3 +173,4 @@ swap_value_imp(entry_pointer p_e, const_reference r_new_val, false_type)
value_type tmp(r_new_val);
(*p_e)->swap(tmp);
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC::
......@@ -62,3 +64,4 @@ PB_DS_CLASS_C_DEC::
end() const
{ return const_iterator(m_a_entries + m_size); }
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
Cmp_Fn&
PB_DS_CLASS_C_DEC::
......@@ -54,3 +56,4 @@ get_cmp_fn() const
return (*this);
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
template<typename Pred>
void
......@@ -158,3 +160,4 @@ join(PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID((*this))
PB_DS_ASSERT_VALID(other)
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a binary_heap.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef PB_DS_BINARY_HEAP_TRACE_
PB_DS_CLASS_T_DEC
......@@ -76,3 +78,4 @@ trace_entry(const entry& r_e, true_type) const
}
#endif // #ifdef PB_DS_BINARY_HEAP_TRACE_
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation for binomial_heap_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
binomial_heap()
......@@ -58,3 +60,4 @@ binomial_heap(const PB_DS_CLASS_C_DEC& other)
PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
~binomial_heap() { }
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation for binomial_heap_.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
......@@ -47,3 +49,4 @@ assert_valid(const char* __file, int __line) const
{ base_type::assert_valid(true, __file, __line); }
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a base of binomial heaps.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
template<typename It>
void
......@@ -83,3 +85,4 @@ PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
~binomial_heap_base()
{ }
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a base of binomial heaps.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
......@@ -98,3 +100,4 @@ assert_node_consistent(node_const_pointer p_nd, bool strictly_binomial,
}
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a base of binomial heaps.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
......@@ -159,3 +161,4 @@ erase_if(Pred pred)
PB_DS_ASSERT_VALID_COND((*this),true)
return ersd;
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a base of binomial heaps.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::const_reference
PB_DS_CLASS_C_DEC::
......@@ -68,3 +70,4 @@ find_max()
}
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a base of binomial heaps.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC::
......@@ -176,3 +178,4 @@ modify(point_iterator it, const_reference r_new_val)
m_p_max = 0;
PB_DS_ASSERT_VALID_COND((*this),true)
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for a base of binomial heaps.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
template<typename Pred>
void
......@@ -195,3 +197,4 @@ join(node_pointer p_lhs, node_pointer p_rhs) const
return p_ret;
}
#endif
......@@ -39,6 +39,8 @@
* functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
template<typename Other_HT_Map_Type>
bool
......@@ -81,3 +83,4 @@ bool
PB_DS_CLASS_C_DEC::
operator!=(const Other_HT_Map_Type& other) const
{ return !operator==(other); }
#endif
......@@ -39,6 +39,8 @@
* and related functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::entry_allocator
PB_DS_CLASS_C_DEC::s_entry_allocator;
......@@ -189,3 +191,4 @@ initialize()
Resize_Policy::notify_cleared();
ranged_hash_fn_base::notify_resized(m_num_e);
}
#endif
......@@ -39,6 +39,8 @@
* and related functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
......@@ -53,3 +55,4 @@ constructor_insert_new_imp(mapped_const_reference r_val, size_type pos,
m_entries[pos] = p;
_GLIBCXX_DEBUG_ONLY(debug_base::insert_new(r_key);)
}
#endif
......@@ -39,6 +39,8 @@
* and related functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
......@@ -54,3 +56,4 @@ constructor_insert_new_imp(const_reference r_val, size_type pos, true_type)
m_entries[pos] = p;
_GLIBCXX_DEBUG_ONLY(debug_base::insert_new(r_key);)
}
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s debug-mode functions.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
......@@ -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>
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s debug-mode functions.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
......@@ -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); }
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s debug-mode functions.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
......@@ -52,3 +54,4 @@ assert_entry_pointer_valid(const entry_pointer p_e, true_type,
}
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s entry-list related functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
......@@ -89,3 +91,4 @@ rels_entry(entry_pointer p_e)
s_entry_allocator.deallocate(p_e, 1);
}
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s erase related functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
......@@ -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_store_hash_fn_imps.hpp>
#endif
......@@ -39,6 +39,8 @@
* when the hash value is not stored.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline bool
PB_DS_CLASS_C_DEC::
......@@ -98,3 +100,4 @@ erase_in_pos_imp(key_const_reference r_key, size_type pos)
p_e = p_next_e;
}
}
#endif
......@@ -39,6 +39,8 @@
* when the hash value is stored.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline bool
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)
p_e = p_next_e;
}
}
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s find related functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC::
......@@ -69,3 +71,4 @@ PB_DS_CLASS_C_DEC::
find_end() const
{ return 0; }
#endif
......@@ -39,6 +39,8 @@
* functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC::
......@@ -99,3 +101,4 @@ bool
PB_DS_CLASS_C_DEC::
operator!=(const Other_HT_Map_Type& other) const
{ return !operator==(other); }
#endif
......@@ -39,6 +39,8 @@
* when the hash value is not stored.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
PB_DS_CLASS_C_DEC::
......@@ -68,3 +70,4 @@ insert_imp(const_reference r_val, false_type)
return std::make_pair(insert_new_imp(r_val, pos), true);
}
#endif
......@@ -39,6 +39,8 @@
* when the hash value is stored.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
PB_DS_CLASS_C_DEC::
......@@ -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);
}
#endif
......@@ -39,6 +39,8 @@
* begin().
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC::s_end_it;
......@@ -81,3 +83,4 @@ PB_DS_CLASS_C_DEC::
end() const
{ return s_const_end_it; }
#endif
......@@ -39,6 +39,8 @@
* functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
Hash_Fn&
PB_DS_CLASS_C_DEC::
......@@ -86,3 +88,4 @@ const Resize_Policy&
PB_DS_CLASS_C_DEC::
get_resize_policy() const
{ return *this; }
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s resize related functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline bool
PB_DS_CLASS_C_DEC::
......@@ -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_store_hash_fn_imps.hpp>
#endif
......@@ -39,6 +39,8 @@
* hash value is not stored.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::entry_pointer
PB_DS_CLASS_C_DEC::
......@@ -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;
return p_next_e;
}
#endif
......@@ -39,6 +39,8 @@
* hash value is stored.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::entry_pointer
PB_DS_CLASS_C_DEC::
......@@ -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;
return p_next_e;
}
#endif
......@@ -39,6 +39,8 @@
* functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC::
......@@ -58,3 +60,4 @@ PB_DS_CLASS_C_DEC::
max_size() const
{ return s_entry_allocator.max_size(); }
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s trace-mode functions.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef PB_DS_HT_MAP_TRACE_
PB_DS_CLASS_T_DEC
......@@ -70,3 +72,4 @@ trace_list(const_entry_pointer p_l) const
}
#endif
#endif
......@@ -39,6 +39,8 @@
* and related functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::entry_allocator
PB_DS_CLASS_C_DEC::s_entry_allocator;
......@@ -221,3 +223,4 @@ initialize()
m_entries[i].m_stat = empty_entry_status;
}
#endif
......@@ -39,6 +39,8 @@
* and related functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
......@@ -51,3 +53,4 @@ constructor_insert_new_imp(mapped_const_reference r_val, size_type pos,
p_e->m_stat = valid_entry_status;
_GLIBCXX_DEBUG_ONLY(debug_base::insert_new(p_e->m_value.first);)
}
#endif
......@@ -39,6 +39,8 @@
* and related functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
......@@ -52,3 +54,4 @@ constructor_insert_new_imp(mapped_const_reference r_val, size_type pos,
p_e->m_stat = valid_entry_status;
_GLIBCXX_DEBUG_ONLY(debug_base::insert_new(p_e->m_value.first);)
}
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s debug-mode functions.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
......@@ -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>
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s debug-mode functions.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
......@@ -70,3 +72,4 @@ assert_entry_array_valid(const entry_array a_entries, false_type,
}
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s debug-mode functions.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
......@@ -76,3 +78,4 @@ assert_entry_array_valid(const entry_array a_entries, true_type,
}
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s erase related functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
......@@ -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_store_hash_fn_imps.hpp>
#endif
......@@ -39,6 +39,8 @@
* when the hash value is not stored.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline bool
PB_DS_CLASS_C_DEC::
......@@ -82,3 +84,4 @@ erase_imp(key_const_reference r_key, false_type)
return false;
}
#endif
......@@ -39,6 +39,8 @@
* when the hash value is stored.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline bool
PB_DS_CLASS_C_DEC::
......@@ -83,3 +85,4 @@ erase_imp(key_const_reference r_key, true_type)
return false;
}
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s find related functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC::
......@@ -68,3 +70,4 @@ PB_DS_CLASS_C_DEC::
find_end() const
{ return 0; }
#endif
......@@ -39,6 +39,8 @@
* when the hash value is not stored.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::pointer
PB_DS_CLASS_C_DEC::
......
......@@ -39,6 +39,8 @@
* functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC::
......@@ -57,3 +59,4 @@ inline bool
PB_DS_CLASS_C_DEC::
empty() const
{ return (size() == 0); }
#endif
......@@ -39,6 +39,8 @@
* when the hash value is not stored.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC::
......@@ -109,3 +111,4 @@ insert_imp(const_reference r_val, false_type)
return std::make_pair(insert_new_imp(r_val, pos), true);
}
#endif
......@@ -39,6 +39,8 @@
* when the hash value is stored.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::comp_hash
PB_DS_CLASS_C_DEC::
......@@ -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);
}
#endif
......@@ -39,6 +39,8 @@
* begin().
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC::s_end_it;
......@@ -81,3 +83,4 @@ PB_DS_CLASS_C_DEC::
end() const
{ return s_const_end_it; }
#endif
......@@ -39,6 +39,8 @@
* functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
Hash_Fn&
PB_DS_CLASS_C_DEC::
......@@ -98,3 +100,4 @@ const Resize_Policy&
PB_DS_CLASS_C_DEC::
get_resize_policy() const
{ return *this; }
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s resize related functions.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline bool
PB_DS_CLASS_C_DEC::
......@@ -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_store_hash_fn_imps.hpp>
#endif
......@@ -39,6 +39,8 @@
* hash value is not stored.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
......@@ -70,3 +72,4 @@ resize_imp_reassign(entry_pointer p_e, entry_array a_entries_resized,
__throw_insert_error();
}
#endif
......@@ -39,6 +39,8 @@
* hash value is stored.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
......@@ -72,3 +74,4 @@ resize_imp_reassign(entry_pointer p_e, entry_array a_entries_resized,
__throw_insert_error();
}
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of gp_ht_map_'s trace-mode functions.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef PB_DS_HT_MAP_TRACE_
PB_DS_CLASS_T_DEC
......@@ -72,3 +74,4 @@ trace() const
}
#endif // #ifdef PB_DS_HT_MAP_TRACE_
#endif
......@@ -38,6 +38,8 @@
* Contains a range-hashing policy implementation
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
......@@ -56,3 +58,4 @@ PB_DS_CLASS_C_DEC::
operator()(size_type hash) const
{ return mask_based_base::range_hash(hash); }
#endif
......@@ -38,6 +38,8 @@
* Contains a range-hashing policy implementation
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
......@@ -56,3 +58,4 @@ PB_DS_CLASS_C_DEC::
operator()(size_type hash) const
{ return mod_based_base::range_hash(hash); }
#endif
......@@ -38,6 +38,8 @@
* Contains a probe policy implementation
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
......@@ -51,3 +53,4 @@ operator()(size_type i) const
{
return (i);
}
#endif
......@@ -38,6 +38,8 @@
* Contains a probe policy implementation
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
......@@ -51,3 +53,4 @@ operator()(size_type i) const
{
return (i* i);
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::node_allocator
PB_DS_CLASS_C_DEC::s_node_allocator;
......@@ -150,3 +152,4 @@ recursive_copy_node(node_const_pointer p_nd)
return p_ret;
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
......@@ -135,3 +137,4 @@ degree(node_const_pointer p_nd)
}
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
......@@ -148,3 +150,4 @@ bubble_to_top(node_pointer p_nd)
}
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
_GLIBCXX_NODISCARD
inline bool
......@@ -63,3 +65,4 @@ max_size() const
return (s_node_allocator.max_size());
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::node_pointer
PB_DS_CLASS_C_DEC::
......@@ -173,3 +175,4 @@ swap_with_parent(node_pointer p_nd, node_pointer p_parent)
_GLIBCXX_DEBUG_ASSERT(parent(p_parent) == p_nd);
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC::
......@@ -86,3 +88,4 @@ end() const
return (const_iterator(0));
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
Cmp_Fn&
PB_DS_CLASS_C_DEC::
......@@ -50,3 +52,4 @@ PB_DS_CLASS_C_DEC::
get_cmp_fn() const
{ return *this; }
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef PB_DS_LC_NS_HEAP_TRACE_
PB_DS_CLASS_T_DEC
......@@ -88,3 +90,4 @@ trace_node_metadata(node_const_pointer, type_to_type<null_type>)
{ }
#endif // #ifdef PB_DS_LC_NS_HEAP_TRACE_
#endif
......@@ -37,6 +37,8 @@
* @file list_update_map_/constructor_destructor_fn_imps.hpp
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::entry_allocator
PB_DS_CLASS_C_DEC::s_entry_allocator;
......@@ -134,3 +136,4 @@ PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
~PB_DS_LU_NAME()
{ deallocate_all(); }
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of cc_ht_map_'s debug-mode functions.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
......@@ -55,3 +57,4 @@ assert_valid(const char* __file, int __line) const
}
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of lu_map_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline bool
PB_DS_CLASS_C_DEC::
......@@ -132,3 +134,4 @@ actual_erase_entry(entry_pointer p_l)
s_entry_allocator.deallocate(p_l, 1);
}
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of lu_map_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::entry_pointer
PB_DS_CLASS_C_DEC::
......@@ -88,3 +90,4 @@ PB_DS_CLASS_C_DEC::
apply_update(entry_pointer, type_to_type<null_type>)
{ return s_update_policy(s_null_type); }
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of lu_map_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC::
......@@ -56,3 +58,4 @@ inline bool
PB_DS_CLASS_C_DEC::
empty() const
{ return (m_p_l == 0); }
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of lu_map_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline std::pair<
typename PB_DS_CLASS_C_DEC::point_iterator,
......@@ -104,3 +106,4 @@ PB_DS_CLASS_C_DEC::
init_entry_metadata(entry_pointer, type_to_type<null_type>)
{ }
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of lu_map_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC::
......@@ -78,3 +80,4 @@ end() const
return const_iterator(0, 0, const_cast<PB_DS_CLASS_C_DEC*>(this));
}
#endif
......@@ -38,6 +38,8 @@
* Contains implementations of lu_map_.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef PB_DS_LU_MAP_TRACE_
PB_DS_CLASS_T_DEC
......@@ -57,3 +59,4 @@ trace() const
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::value_allocator
PB_DS_CLASS_C_DEC::s_value_alloc;
......@@ -255,3 +257,4 @@ update(node_iterator nd_it, Node_Update* p_update)
node_update::operator()(nd_it, end_it);
}
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
......@@ -77,3 +79,4 @@ assert_iterators(const char* __file, int __line) const
}
#endif
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
......@@ -189,3 +191,4 @@ erase(key_const_reference r_key)
erase(it);
return true;
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC::
......@@ -59,3 +61,4 @@ inline bool
PB_DS_CLASS_C_DEC::
empty() const
{ return size() == 0; }
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
......@@ -61,3 +63,4 @@ reallocate_metadata(Node_Update_* , size_type new_size)
std::swap(m_a_metadata, a_new_metadata_vec);
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::node_const_iterator
PB_DS_CLASS_C_DEC::
......@@ -101,3 +103,4 @@ PB_DS_node_end_imp()
end(),(m_a_metadata == 0) ? 0 : m_a_metadata + m_size);
}
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
Cmp_Fn&
PB_DS_CLASS_C_DEC::
......@@ -49,3 +51,4 @@ const Cmp_Fn&
PB_DS_CLASS_C_DEC::
get_cmp_fn() const
{ return *this; }
#endif
......@@ -38,6 +38,8 @@
* Contains an implementation class for ov_tree_.
*/
#ifdef PB_DS_CLASS_C_DEC
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
......@@ -130,3 +132,4 @@ join(PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID((*this))
PB_DS_ASSERT_VALID(other)
}
#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