summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2019-05-02 16:44:46 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2019-05-02 16:44:46 +0100
commit574dfb67be756d323328839a1795b979f88da676 (patch)
tree775d5d1f3892e7015ed344b5a9b364e2bc339a61
parentacd482ba727dc8257324c9ab29f82321a1e8da29 (diff)
downloadgcc-574dfb67be756d323328839a1795b979f88da676.tar.gz
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
-rw-r--r--libstdc++-v3/ChangeLog28
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp4
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp5
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp7
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp8
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp7
158 files changed, 509 insertions, 5 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 126ed4ee9e3..e356075fd8c 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,33 @@
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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
index 7ad5a9e76ff..73c83e2b0a2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
index ddc6c7678aa..d9b0cf8a97e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
index 727e526b121..4201634c905 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
index 95a809acb0f..7d6c41cdcb3 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
index 4019f864307..cb751b28ec8 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
index 96f6a3e9421..9c33f218ed9 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
index 3f052e86898..6db474637ae 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
index 846c8709abb..5bf6721bb89 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
index 2ad610671ab..561c94e785c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
index acf620ca217..62ba39e5059 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
index 67cbf80ddfe..6935b7465da 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
index 1b0687338b2..edd1625dda4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
index e16677f7853..45609443be3 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
index 651a62d2cf1..260bc86470e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
index b01cbda78a2..6da5cb4372d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
index d81d5500659..641489b5ad0 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
index 36cdcd20391..9feaf33d86c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
index a8a0804c517..394e4620dcd 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
index 41804580d55..c41eb35f105 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
index 4a919eb7b28..ce15b71c1e7 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
index c7b652a76f1..8992f037d14 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
index 5cfe3d2550b..5f33acde955 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
index 9520f7453e0..4a8837b5f1f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
index 24db3d6359b..a6f5b225a41 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
index 54f8585ab61..4a55a9ad1dd 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
index c72321680b1..058dddbdb73 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
index 6a3fa906700..b3d90d4915d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
index a5cf6e753e0..a5918c70b07 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
index caf3715ed49..9da0fc210f6 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
index d11ff0055f9..a534ab3fd09 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
index d6db450db5d..a3773867379 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
index 89eb1d69437..a93f03c895f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
index 6709b0689c3..512edb92057 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
index 65b3b0aa2dd..2423d63cc05 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
index 9385036b022..0fe5fa53687 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
index 2d6e0863832..8831ab5e244 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
index 75a19125560..feea011c55a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
index 3d39c47a8ab..cef305e4c55 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
index e4f2300a82c..a2f776311d4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
index 90533aa54eb..480ce61e1a3 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
index 1f6c46b577b..f3f9b5bc1d7 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
index 9d38890f7f6..49fd16cffdb 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
index 7fc51b67b80..b4729f7fdb4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
index cbf05c88e4d..165ef419f4c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
index 5cfbc0cc65e..492d376eb6b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
index 979f3e05d37..cc83dd3c0e5 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
index 86c727f3ec2..5f4b532559b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
index f0722701ab7..3ca56b4f93d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
index 9fd546d8693..a98e2e73f14 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
index bcc1fc47b12..2aa146fce83 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
index f2fa3269104..88a674c34ac 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
index f9b401b4808..aa480fe4f42 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
index 41d7c081315..e07984e040a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
index d87fdc72e72..5390c6b013b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
index ead21e387a0..8b5574a255c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
index 5b17ac8ac99..8de0910cd13 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
index ce45b387081..62769e7ff08 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
index af83629b5f0..b42c87b4628 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
index 9e6b69b10b5..7d0690165a0 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
index 547a33f1104..1faa648c606 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
index c2ee829d3c4..44feed70d47 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
index 21df6c76a29..91e96ecbc81 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
@@ -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::
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
index 464216e45dd..75a59ac0595 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
index 72445cc6cca..e868c16f0d0 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
index 06eed096130..09b2c264afa 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
index c9e51df5cfc..4277fb0c24a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
index 92cb8eedd23..48f1f7958d0 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
index f8eec454782..ff3f3512bad 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
index 6f72d2934cc..48d19c4e357 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
index bfd247d0025..cfaf5c4a61b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
index c66da8345da..fd6971b158b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
index bc89ebf279a..09b325cc806 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
index da4c0a7f32b..bfa6723385a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
index 0ca1a0e5001..6317c3090ec 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
index 7c29ede53d8..f8a4745a285 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
index 305fd20b03b..c303fd1c999 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
index 10d618c2171..2f7f5609153 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
index 414f0d686bb..ff4b53421ae 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
index d12710a1218..605eeb9a26d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
index e05cbb9e2fb..6bc252f02e4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
index c78113ba2f4..465ca4299bc 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
index 4c44ed6616f..6632e15474d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
index 36c0ab6d53b..9310a7b098e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
index e29b5eccc02..e816204380f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
index 474fc11de18..451b1c5aadb 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
index 96d584118f5..6e7c576c505 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
index 5e602dd7646..c56d1676f62 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
index 5d2e81ff4a7..e95c8a588c3 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
index fe71f06b79f..dfc9900c1e0 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
index 79733ef204e..0efe2625ddd 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
index 7ec66b78176..f321633cd47 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
index 021abc2f8ab..e081392a8cd 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
index cfb6fd54e6e..2117ceb87ff 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
index c74c1b8b1c5..060eb3cf0c1 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
index 81e7305e315..99a1dcadc8a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
index 79a429a0bb3..d34b2e4794b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
index b071a75812b..c61d40e0dbe 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
index 991f1c5654b..beaaff60ddc 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
index 0f5b04c75e7..525ae9c8b26 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
@@ -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
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
index 1848255879b..f28ce89e955 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for a pairing heap.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
template<typename It>
void
@@ -80,3 +82,4 @@ PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
~pairing_heap()
{ }
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
index 93f63fcbc9a..2a2358dfae9 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for a pairing heap.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
@@ -51,3 +53,4 @@ assert_valid(const char* __file, int __line) const
}
#endif
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
index 64923faa41b..954715c1c61 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for a pairing heap.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
@@ -231,3 +233,4 @@ erase_if(Pred pred)
return ersd;
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
index 2bc072918d9..e18f5d6511f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for a pairing 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::
@@ -47,3 +49,4 @@ top() const
_GLIBCXX_DEBUG_ASSERT(!base_type::empty());
return base_type::m_p_root->m_value;
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
index 6c7baeaab13..e0299a4be41 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for a pairing 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::
@@ -86,3 +88,4 @@ modify(point_iterator it, const_reference r_new_val)
push_imp(it.m_p_nd);
PB_DS_ASSERT_VALID((*this))
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
index e03a8ba3694..f243eeffc15 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for a pairing heap.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
template<typename Pred>
void
@@ -121,3 +123,4 @@ join(PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID((*this))
PB_DS_ASSERT_VALID(other)
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
index 93ffcf10d5c..360034d3c7e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::head_allocator
PB_DS_CLASS_C_DEC::s_head_allocator;
@@ -212,3 +214,4 @@ recursive_copy_node(node_const_pointer p_ncp)
apply_update(p_ret, (node_update*)this);
return p_ret;
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
index c72024aed45..4f6dd612cba 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
@@ -113,3 +115,4 @@ recursive_count_leafs(node_const_pointer p_nd, const char* __file, int __line)
}
#endif
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
index e8362204375..25c97a775f2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
inline bool
PB_DS_CLASS_C_DEC::
@@ -313,3 +315,4 @@ update_min_max_for_erased_leaf(leaf_pointer p_l)
m_p_head->m_p_max = it.m_p_nd;
}
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
index 33121737798..6005d4eaba6 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie.
*/
+#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::
@@ -267,3 +269,4 @@ rightmost_descendant(node_pointer p_nd)
return static_cast<inode_pointer>(p_nd)->rightmost_descendant();
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
index 33fc3e14ccf..7012055f2b0 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie.
*/
+#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_inode_allocator.max_size(); }
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
index f661e9754de..442d32e547f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
@@ -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())))
m_p_head->m_p_max = p_new_lf;
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
index b027f781e17..3fb9d850491 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC::
@@ -118,3 +120,4 @@ PB_DS_CLASS_C_DEC::
node_end()
{ return node_iterator(0, this); }
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
index 3b656d75255..7f7fe01dba5 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::access_traits&
PB_DS_CLASS_C_DEC::
@@ -61,3 +63,4 @@ const typename PB_DS_CLASS_C_DEC::node_update&
PB_DS_CLASS_C_DEC::
get_node_update() const
{ return *this; }
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
index 3726cb69f97..6a24e5acaf6 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie.
*/
+#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)
s_node_allocator.deallocate(p_nd, 1);
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
index 8f2f1daee8a..af8c8960856 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
@@ -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::
@@ -148,3 +150,4 @@ PB_DS_CLASS_C_DEC::
update_to_top(node_pointer /*p_nd*/, __gnu_pbds::null_node_update* /*p_update*/)
{ }
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
index e2065aef3eb..52a9d88f3b4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
@@ -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);
PB_DS_ASSERT_NODE_VALID(m_p_head->m_p_parent)
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
index 70406f2450e..28df7ef09b3 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
#ifdef PB_DS_PAT_TRIE_TRACE_
PB_DS_CLASS_T_DEC
@@ -109,3 +111,4 @@ trace_node_metadata(node_const_pointer, type_to_type<null_type>)
#endif
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
index e7b4a69b458..db3d3addf17 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for pat_trie_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
@@ -53,3 +55,4 @@ apply_update(node_pointer p_nd, Node_Update_*)
Node_Update_::operator()(node_iterator(p_nd, this),
node_const_iterator(0, this));
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
index 4d173cfff2e..f0c2cf1b4fe 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for rb_tree_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
template<typename It>
void
@@ -98,3 +100,4 @@ void
PB_DS_CLASS_C_DEC::
initialize()
{ base_type::m_p_head->m_red = true; }
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
index fcdad469d9a..5106452c5b3 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for rb_tree_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
@@ -79,3 +81,4 @@ assert_valid(const char* __file, int __line) const
#endif
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
index 0d92fede8d0..35aa2ba0322 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for rb_tree_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
inline bool
PB_DS_CLASS_C_DEC::
@@ -287,3 +289,4 @@ remove_fixup(node_pointer p_x, node_pointer p_new_x_parent)
if (p_x != 0)
p_x->m_red = false;
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
index 045834891e3..11c1b29b2fc 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
@@ -38,9 +38,12 @@
* Contains an implementation for rb_tree_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
inline bool
PB_DS_CLASS_C_DEC::
is_effectively_black(const node_pointer p_nd)
{ return (p_nd == 0 || !p_nd->m_red); }
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
index 6cc88fa6d37..11efd022070 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for rb_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::
@@ -113,3 +115,4 @@ insert_fixup(node_pointer p_nd)
base_type::update_to_top(p_nd, (node_update* )this);
base_type::m_p_head->m_p_parent->m_red = false;
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
index 85ebdfb886c..adddc4f1858 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for rb_tree_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
@@ -304,3 +306,4 @@ split_at_node(node_pointer p_nd, PB_DS_CLASS_C_DEC& other)
PB_DS_STRUCT_ONLY_ASSERT_VALID(other)
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
index 0c6a9608fa5..0864dcef099 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for rc_binomial_heap_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
rc_binomial_heap()
@@ -82,3 +84,4 @@ swap(PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID((*this))
PB_DS_ASSERT_VALID(other)
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
index bec9ca3d42f..d258ee459b7 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for rc_binomial_heap_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
@@ -119,3 +121,4 @@ next_after_0_pointer(node_const_pointer p_nd)
}
#endif
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
index b6d50748ed4..03d6b0f5efa 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for rc_binomial_heap_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
@@ -105,3 +107,4 @@ erase(point_iterator it)
base_type::find_max();
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
index b8f59d0184a..7d4da53a313 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for rc_binomial_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::
@@ -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)
m_rc.push(p_res);
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
index 12363fe79a5..074b041f194 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for rc_binomial_heap_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
template<typename Pred>
void
@@ -75,3 +77,4 @@ join(PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID(other)
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
index 0b771a7f42d..0a429b0fff8 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for rc_binomial_heap_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
#ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_
PB_DS_CLASS_T_DEC
@@ -50,3 +52,4 @@ trace() const
}
#endif // #ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
index fa246c060f9..06e4eb62a33 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
@@ -38,6 +38,8 @@
* Contains a resize trigger implementation.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
cc_hash_max_collision_check_resize_trigger(float load) :
@@ -209,3 +211,4 @@ set_load(float load)
calc_resize_needed();
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
index c51e3286008..8d02c85def8 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
@@ -38,6 +38,8 @@
* Contains a resize size policy implementation.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
hash_exponential_size_policy(size_type start_size, size_type grow_factor) :
@@ -88,3 +90,4 @@ get_nearest_smaller_size(size_type size) const
return ret;
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
index 19dfa8f34a8..edfb35b2412 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
@@ -38,6 +38,8 @@
* Contains a resize trigger implementation.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
@@ -291,3 +293,4 @@ assert_valid(const char* __file, int __line) const
# undef PB_DS_DEBUG_VERIFY
#endif
#undef PB_DS_ASSERT_VALID
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
index c3934e1b31b..d93f2076d3f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
@@ -38,6 +38,8 @@
* Contains a resize size policy implementation.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
#pragma GCC system_header
namespace detail
@@ -159,3 +161,4 @@ get_nearest_smaller_size(size_type n) const
return m_start_size;
return *p_lower;
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
index 45fbfc0bf8f..f77a0952c77 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
@@ -38,6 +38,8 @@
* Contains a resize policy implementation.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
hash_standard_resize_policy()
@@ -247,3 +249,4 @@ PB_DS_CLASS_C_DEC::
get_size_policy() const
{ return *this; }
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
index 99247ee1395..21a70da4165 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for splay_tree_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
template<typename It>
void
@@ -100,3 +102,4 @@ void
PB_DS_CLASS_C_DEC::
initialize()
{ base_type::m_p_head->m_special = true; }
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
index fdc0cfa2fd1..f24d2a367e1 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for splay_tree_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
@@ -73,3 +75,4 @@ assert_special_imp(const node_pointer p_nd,
#endif
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
index 1fea88a12db..7aa3f24b485 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for splay_tree_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
inline bool
PB_DS_CLASS_C_DEC::
@@ -155,3 +157,4 @@ leftmost(node_pointer p_nd)
p_nd = p_nd->m_p_left;
return p_nd;
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
index 6cccb441685..0ba3f5dc3b8 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for splay_tree_.
*/
+#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::
@@ -98,3 +100,4 @@ find_imp(key_const_reference r_key) const
p_nd = p_nd->m_p_right;
return base_type::m_p_head;
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
index 137c5cf7fa5..9fb4cf0a4f5 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for splay_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::
@@ -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);
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
index 86983c39c64..2af92a25b86 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for splay_tree_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
@@ -279,3 +281,4 @@ splay_zz_end(node_pointer p_nd, node_pointer p_parent,
this->apply_update(p_nd, (node_update*)this);
PB_DS_ASSERT_BASE_NODE_CONSISTENT(p_nd)
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
index a519ea1ce97..7419ccf495f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for splay_tree_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
@@ -110,3 +112,4 @@ split(key_const_reference r_key, PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID(other)
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
index 91e9a7c2518..dd4e70f02d3 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for thin_heap_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
template<typename It>
void
@@ -103,3 +105,4 @@ PB_DS_CLASS_C_DEC::
initialize()
{ std::fill(m_a_aux, m_a_aux + max_rank, static_cast<node_pointer>(0)); }
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
index 3a434b674d8..447305d326a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for thin_heap_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
#ifdef _GLIBCXX_DEBUG
PB_DS_CLASS_T_DEC
@@ -117,3 +119,4 @@ assert_node_consistent(node_const_pointer p_nd, bool root,
}
#endif
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
index 5dc0977f7b1..f2672265370 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for thin_heap_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
@@ -253,3 +255,4 @@ rank_bound()
return (p_upper - g_a_rank_bounds);
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
index 92009bbb55d..8300867b5b6 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for thin_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::
@@ -49,3 +51,4 @@ top() const
_GLIBCXX_DEBUG_ASSERT(m_p_max != 0);
return m_p_max->m_value;
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
index 76ea0132ce4..57d3720409c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for thin_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::
@@ -278,3 +280,4 @@ update_max(node_pointer p_nd)
m_p_max = p_nd;
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
index 44103d01aef..b922f473031 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation for thin_heap_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
template<typename Pred>
void
@@ -106,3 +108,4 @@ join(PB_DS_CLASS_C_DEC& other)
PB_DS_ASSERT_VALID((*this))
PB_DS_ASSERT_VALID(other)
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
index 428b4bb933e..88e2ee75236 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
@@ -38,6 +38,8 @@
* Contains an implementation class for left_child_next_sibling_heap_.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
#ifdef PB_DS_THIN_HEAP_TRACE_
PB_DS_CLASS_T_DEC
@@ -51,3 +53,4 @@ trace() const
}
#endif // #ifdef PB_DS_THIN_HEAP_TRACE_
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
index 4b2fcb5af4a..f7cfdb9fe95 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
@@ -38,6 +38,8 @@
* Contains forward declarations for order_statistics_key
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC::
@@ -119,3 +121,4 @@ PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
~tree_order_statistics_node_update()
{ }
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
index 951de0c8c96..4b05675a690 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
@@ -38,6 +38,8 @@
* Contains forward declarations for order_statistics_key
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
inline typename PB_DS_CLASS_C_DEC::iterator
PB_DS_CLASS_C_DEC::
@@ -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_cast<size_type&>(nd_it.get_metadata()) = res;
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
index 63c4ef6b3eb..49b0615ea20 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
@@ -38,6 +38,8 @@
* Contains an implementation of prefix_search_node_update.
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
std::pair<
typename PB_DS_CLASS_C_DEC::const_iterator,
@@ -137,3 +139,4 @@ inline void
PB_DS_CLASS_C_DEC::
operator()(node_iterator /*nd_it*/, node_const_iterator /*end_nd_it*/) const
{ }
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp
index 2e96964e330..d7f6a3c5437 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp
@@ -39,6 +39,8 @@
* a string for a vector-based PATRICIA tree
*/
+#ifdef PB_DS_CLASS_C_DEC
+
PB_DS_CLASS_T_DEC
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)
{
return (r_key.rend());
}
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
index ef7e7846c4b..7468af6ad91 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
@@ -37,8 +37,12 @@
* @file unordered_iterator/const_iterator.hpp
* Contains an iterator class used for const ranging over the elements of the
* 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.
class const_iterator_
: public point_const_iterator_
@@ -109,3 +113,4 @@ protected:
friend class PB_DS_CLASS_C_DEC;
};
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp
index 29fa3d12140..388fccf625d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp
@@ -36,9 +36,13 @@
/**
* @file iterator.hpp
* 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.
class iterator_
: public const_iterator_
@@ -128,3 +132,4 @@ protected:
friend class PB_DS_CLASS_C_DEC;
};
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp
index 367f371bebd..3f55a73b721 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp
@@ -36,9 +36,13 @@
/**
* @file unordered_iterator/point_const_iterator.hpp
* 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_;
/// Const point-type iterator.
@@ -130,4 +134,4 @@ protected:
friend class PB_DS_CLASS_C_DEC;
};
-
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
index d2514ade3c2..40d769f84be 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
@@ -36,9 +36,13 @@
/**
* @file point_iterator.hpp
* 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.
class point_iterator_
{
@@ -124,3 +128,4 @@ protected:
protected:
pointer m_p_value;
};
+#endif