summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2006-09-20 13:49:46 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2006-09-20 13:49:46 +0000
commit59ae0c9c83e70e6a6a6da6aed83e55ed87092989 (patch)
tree15f8c35008650f79d951be7a72aec0264ec1ceb5
parent42f38b860ff0df9064106117056c40d1d6004e69 (diff)
downloadgcc-59ae0c9c83e70e6a6a6da6aed83e55ed87092989.tar.gz
2006-09-20 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/pb_ds/detail/ typelist_assoc_container.hpp: Remove, unused. * include/ext/pb_ds/detail/typelist/ typelist_assoc_container_find.hpp: Same. * include/ext/pb_ds/detail/typelist: Remove. * include/ext/pb_ds/detail/typelist.hpp: Merge... * include/ext/pb_ds/detail/typelist/typelist_flatten.hpp: Same. * include/ext/pb_ds/detail/typelist/typelist_contains.hpp: Same. * include/ext/pb_ds/detail/typelist/typelist_typelist_append.hpp: Same. * include/ext/pb_ds/detail/typelist/typelist_apply.hpp: Same. * include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same. * include/ext/pb_ds/detail/typelist/typelist_append.hpp: Same. * include/ext/pb_ds/detail/typelist/typelist_at_index.hpp: Same. * include/ext/pb_ds/detail/typelist/typelist_transform.hpp: Same. * include/ext/typelist.h: ... into this. * include/Makefile.am: Subtractions. * include/Makefile.in: Regenerate. * include/ext/pb_ds/assoc_container.hpp: Fixups for new includes, namespaces, and names. * include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same. * include/ext/pb_ds/detail/resize_policy/ hash_prime_size_policy_imp.hpp: Same. * include/ext/pb_ds/detail/resize_policy/ cc_hash_max_collision_check_resize_trigger_imp.hpp: Same. * include/ext/pb_ds/detail/resize_policy/ sample_resize_policy.hpp: Same. * include/ext/pb_ds/detail/resize_policy/ sample_resize_trigger.hpp: Same. * include/ext/pb_ds/detail/resize_policy/ hash_exponential_size_policy_imp.hpp: Same. * include/ext/pb_ds/detail/resize_policy/ hash_load_check_resize_trigger_size_base.hpp: Same. * include/ext/pb_ds/detail/resize_policy/ hash_load_check_resize_trigger_imp.hpp: Same. * include/ext/pb_ds/detail/resize_policy/ hash_standard_resize_policy_imp.hpp: Same. * include/ext/pb_ds/detail/container_base_dispatch.hpp: Same. * testsuite/performance/ext/pb_ds/text_find_timing.cc * testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc * testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc * testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc * testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc * testsuite/performance/ext/pb_ds/tree_split_join_timing.cc * testsuite/performance/ext/pb_ds/random_int_find_timing.cc * testsuite/performance/ext/pb_ds/ multimap_text_insert_mem_usage.hpp: Same. * testsuite/performance/ext/pb_ds/ priority_queue_random_int_push_timing.cc * testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp: Same. * testsuite/performance/ext/pb_ds/ priority_queue_text_modify_timing.hpp: Same. * testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc * testsuite/performance/ext/pb_ds/ priority_queue_text_push_pop_timing.cc * testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc * testsuite/performance/ext/pb_ds/ priority_queue_random_int_push_pop_timing.cc * testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc * testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc * testsuite/performance/ext/pb_ds/ multimap_text_insert_timing.hpp: Same. * testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc * testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc * testsuite/performance/23_containers/find/map.cc * testsuite/performance/23_containers/create/map.cc * testsuite/performance/23_containers/insert_erase/associative.cc * testsuite/performance/23_containers/insert/sequence.cc * testsuite/performance/23_containers/insert/associative.cc * testsuite/performance/23_containers/create_from_sorted/set.cc * testsuite/performance/23_containers/index/map.cc * testsuite/performance/23_containers/insert_from_sorted/set.cc * testsuite/performance/23_containers/create_sort/list.cc * testsuite/performance/23_containers/sort_search/list.cc * testsuite/performance/23_containers/producer_consumer/sequence.cc * testsuite/performance/23_containers/producer_consumer/associative.cc * testsuite/util/regression/trait/assoc/type_trait.hpp: Same. * testsuite/util/regression/rand/priority_queue/ rand_regression_test.hpp: Same. * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same. * testsuite/util/regression/assoc/common_type.hpp: Same. * testsuite/util/native_type/assoc/native_multimap.hpp: Same. * testsuite/util/native_type/assoc/native_tree_tag.hpp: Same. * testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same. * testsuite/util/native_type/assoc/native_set.hpp: Same. * testsuite/util/native_type/assoc/native_map.hpp: Same. * testsuite/util/native_type/assoc/native_hash_set.hpp: Same. * testsuite/util/native_type/assoc/native_hash_map.hpp: Same. * testsuite/util/common_type/priority_queue/common_type.hpp: Same. * testsuite/util/common_type/assoc/common_type.hpp: Same. * testsuite/util/common_type/assoc/string_form.hpp: Same. * testsuite/util/common_type/assoc/template_policy.hpp: Same. * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp: Same. * testsuite/util/performance/priority_queue/timing/push_pop_test.hpp: Same. * testsuite/util/performance/priority_queue/timing/join_test.hpp: Same. * testsuite/util/performance/priority_queue/timing/push_test.hpp: Same. * testsuite/util/performance/priority_queue/timing/modify_test.hpp: Same. * testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp: Same. * testsuite/util/performance/assoc/mem_usage/erase_test.hpp: Same. * testsuite/util/performance/assoc/timing/common_type.hpp: Same. * testsuite/util/performance/assoc/timing/multimap_insert_test.hpp: Same. * testsuite/util/performance/assoc/timing/subscript_find_test.hpp: Same. * testsuite/util/performance/assoc/timing/find_test.hpp: Same. * testsuite/util/performance/assoc/timing/subscript_insert_test.hpp: Same. * testsuite/util/performance/assoc/timing/insert_test.hpp: Same. * testsuite/util/performance/assoc/timing/ tree_order_statistics_test.hpp: Same. * testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same. * testsuite/util/performance/assoc/timing/tree_split_join_test.hpp: Same. * testsuite/util/performance/assoc/multimap_common_type.hpp: Same. * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Fixup line numbers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117081 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog123
-rw-r--r--libstdc++-v3/include/Makefile.am12
-rw-r--r--libstdc++-v3/include/Makefile.in12
-rw-r--r--libstdc++-v3/include/ext/pb_ds/assoc_container.hpp33
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/container_base_dispatch.hpp523
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp78
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp14
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp4
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp102
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp30
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp106
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp6
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp12
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp6
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/typelist.hpp296
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_append.hpp84
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_apply.hpp79
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_assoc_container_find.hpp74
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_at_index.hpp72
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_contains.hpp87
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_filter.hpp80
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_flatten.hpp73
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_transform.hpp75
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_typelist_append.hpp87
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/typelist_assoc_container.hpp91
-rw-r--r--libstdc++-v3/include/ext/pb_ds/hash_policy.hpp1
-rw-r--r--libstdc++-v3/include/ext/typelist.h242
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/create/map.cc4
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/create_from_sorted/set.cc4
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/create_sort/list.cc4
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/find/map.cc4
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/index/map.cc5
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc3
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc3
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert_erase/associative.cc3
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/insert_from_sorted/set.cc5
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc3
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc3
-rw-r--r--libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc5
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc7
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc7
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp9
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp11
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_timing.hpp9
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc9
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_timing.cc9
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc8
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp9
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc9
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc9
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc9
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_find_timing.cc11
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc11
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc11
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/text_find_timing.cc20
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc7
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/tree_split_join_timing.cc7
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc9
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc7
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/common_type.hpp165
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp28
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp3
-rw-r--r--libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/native_type/assoc/native_hash_map.hpp3
-rw-r--r--libstdc++-v3/testsuite/util/native_type/assoc/native_hash_multimap.hpp121
-rw-r--r--libstdc++-v3/testsuite/util/native_type/assoc/native_hash_set.hpp5
-rw-r--r--libstdc++-v3/testsuite/util/native_type/assoc/native_map.hpp29
-rw-r--r--libstdc++-v3/testsuite/util/native_type/assoc/native_multimap.hpp101
-rw-r--r--libstdc++-v3/testsuite/util/native_type/assoc/native_set.hpp34
-rw-r--r--libstdc++-v3/testsuite/util/native_type/assoc/native_tree_tag.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/mem_usage/erase_test.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp14
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp14
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp8
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/find_test.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/insert_test.hpp8
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp14
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_insert_test.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_find_test.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_insert_test.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/tree_split_join_test.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/performance/priority_queue/timing/join_test.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/performance/priority_queue/timing/modify_test.hpp8
-rw-r--r--libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_pop_test.hpp8
-rw-r--r--libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_test.hpp8
-rw-r--r--libstdc++-v3/testsuite/util/regression/assoc/common_type.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp4
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp8
92 files changed, 958 insertions, 2315 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 0d8622b71ad..c4f2fe8ad5d 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,126 @@
+2006-09-20 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/ext/pb_ds/detail/
+ typelist_assoc_container.hpp: Remove, unused.
+ * include/ext/pb_ds/detail/typelist/
+ typelist_assoc_container_find.hpp: Same.
+ * include/ext/pb_ds/detail/typelist: Remove.
+ * include/ext/pb_ds/detail/typelist.hpp: Merge...
+ * include/ext/pb_ds/detail/typelist/typelist_flatten.hpp: Same.
+ * include/ext/pb_ds/detail/typelist/typelist_contains.hpp: Same.
+ * include/ext/pb_ds/detail/typelist/typelist_typelist_append.hpp: Same.
+ * include/ext/pb_ds/detail/typelist/typelist_apply.hpp: Same.
+ * include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
+ * include/ext/pb_ds/detail/typelist/typelist_append.hpp: Same.
+ * include/ext/pb_ds/detail/typelist/typelist_at_index.hpp: Same.
+ * include/ext/pb_ds/detail/typelist/typelist_transform.hpp: Same.
+ * include/ext/typelist.h: ... into this.
+ * include/Makefile.am: Subtractions.
+ * include/Makefile.in: Regenerate.
+
+ * include/ext/pb_ds/assoc_container.hpp: Fixups for new includes,
+ namespaces, and names.
+ * include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same.
+ * include/ext/pb_ds/detail/resize_policy/
+ hash_prime_size_policy_imp.hpp: Same.
+ * include/ext/pb_ds/detail/resize_policy/
+ cc_hash_max_collision_check_resize_trigger_imp.hpp: Same.
+ * include/ext/pb_ds/detail/resize_policy/
+ sample_resize_policy.hpp: Same.
+ * include/ext/pb_ds/detail/resize_policy/
+ sample_resize_trigger.hpp: Same.
+ * include/ext/pb_ds/detail/resize_policy/
+ hash_exponential_size_policy_imp.hpp: Same.
+ * include/ext/pb_ds/detail/resize_policy/
+ hash_load_check_resize_trigger_size_base.hpp: Same.
+ * include/ext/pb_ds/detail/resize_policy/
+ hash_load_check_resize_trigger_imp.hpp: Same.
+ * include/ext/pb_ds/detail/resize_policy/
+ hash_standard_resize_policy_imp.hpp: Same.
+ * include/ext/pb_ds/detail/container_base_dispatch.hpp: Same.
+ * testsuite/performance/ext/pb_ds/text_find_timing.cc
+ * testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc
+ * testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc
+ * testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc
+ * testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc
+ * testsuite/performance/ext/pb_ds/tree_split_join_timing.cc
+ * testsuite/performance/ext/pb_ds/random_int_find_timing.cc
+ * testsuite/performance/ext/pb_ds/
+ multimap_text_insert_mem_usage.hpp: Same.
+ * testsuite/performance/ext/pb_ds/
+ priority_queue_random_int_push_timing.cc
+ * testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp: Same.
+ * testsuite/performance/ext/pb_ds/
+ priority_queue_text_modify_timing.hpp: Same.
+ * testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc
+ * testsuite/performance/ext/pb_ds/
+ priority_queue_text_push_pop_timing.cc
+ * testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc
+ * testsuite/performance/ext/pb_ds/
+ priority_queue_random_int_push_pop_timing.cc
+ * testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc
+ * testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc
+ * testsuite/performance/ext/pb_ds/
+ multimap_text_insert_timing.hpp: Same.
+ * testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc
+ * testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc
+ * testsuite/performance/23_containers/find/map.cc
+ * testsuite/performance/23_containers/create/map.cc
+ * testsuite/performance/23_containers/insert_erase/associative.cc
+ * testsuite/performance/23_containers/insert/sequence.cc
+ * testsuite/performance/23_containers/insert/associative.cc
+ * testsuite/performance/23_containers/create_from_sorted/set.cc
+ * testsuite/performance/23_containers/index/map.cc
+ * testsuite/performance/23_containers/insert_from_sorted/set.cc
+ * testsuite/performance/23_containers/create_sort/list.cc
+ * testsuite/performance/23_containers/sort_search/list.cc
+ * testsuite/performance/23_containers/producer_consumer/sequence.cc
+ * testsuite/performance/23_containers/producer_consumer/associative.cc
+ * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
+ * testsuite/util/regression/rand/priority_queue/
+ rand_regression_test.hpp: Same.
+ * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
+ * testsuite/util/regression/assoc/common_type.hpp: Same.
+ * testsuite/util/native_type/assoc/native_multimap.hpp: Same.
+ * testsuite/util/native_type/assoc/native_tree_tag.hpp: Same.
+ * testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
+ * testsuite/util/native_type/assoc/native_set.hpp: Same.
+ * testsuite/util/native_type/assoc/native_map.hpp: Same.
+ * testsuite/util/native_type/assoc/native_hash_set.hpp: Same.
+ * testsuite/util/native_type/assoc/native_hash_map.hpp: Same.
+ * testsuite/util/common_type/priority_queue/common_type.hpp: Same.
+ * testsuite/util/common_type/assoc/common_type.hpp: Same.
+ * testsuite/util/common_type/assoc/string_form.hpp: Same.
+ * testsuite/util/common_type/assoc/template_policy.hpp: Same.
+ * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
+ Same.
+ * testsuite/util/performance/priority_queue/timing/push_pop_test.hpp:
+ Same.
+ * testsuite/util/performance/priority_queue/timing/join_test.hpp: Same.
+ * testsuite/util/performance/priority_queue/timing/push_test.hpp: Same.
+ * testsuite/util/performance/priority_queue/timing/modify_test.hpp:
+ Same.
+ * testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp:
+ Same.
+ * testsuite/util/performance/assoc/mem_usage/erase_test.hpp: Same.
+ * testsuite/util/performance/assoc/timing/common_type.hpp: Same.
+ * testsuite/util/performance/assoc/timing/multimap_insert_test.hpp:
+ Same.
+ * testsuite/util/performance/assoc/timing/subscript_find_test.hpp:
+ Same.
+ * testsuite/util/performance/assoc/timing/find_test.hpp: Same.
+ * testsuite/util/performance/assoc/timing/subscript_insert_test.hpp:
+ Same.
+ * testsuite/util/performance/assoc/timing/insert_test.hpp: Same.
+ * testsuite/util/performance/assoc/timing/
+ tree_order_statistics_test.hpp: Same.
+ * testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
+ * testsuite/util/performance/assoc/timing/tree_split_join_test.hpp:
+ Same.
+ * testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
+
+ * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Fixup line numbers.
+
2006-09-19 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable_policy.h: Uglify all the names.
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index 7c941f7d923..04cd93041ba 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -204,7 +204,6 @@ pb_subdirs = \
${pb_builddir}/detail/pairing_heap_ \
${pb_builddir}/detail/splay_tree_ \
${pb_builddir}/detail/list_update_map_ \
- ${pb_builddir}/detail/typelist \
${pb_builddir}/detail/basic_tree_policy \
${pb_builddir}/detail/trie_policy \
${pb_builddir}/detail/gp_hash_table_map_ \
@@ -503,17 +502,6 @@ pb_headers7 = \
${pb_srcdir}/detail/trie_policy/sample_trie_node_update.hpp \
${pb_srcdir}/detail/trie_policy/string_trie_e_access_traits_imp.hpp \
${pb_srcdir}/detail/trie_policy/trie_policy_base.hpp \
- ${pb_srcdir}/detail/typelist_assoc_container.hpp \
- ${pb_srcdir}/detail/typelist.hpp \
- ${pb_srcdir}/detail/typelist/typelist_append.hpp \
- ${pb_srcdir}/detail/typelist/typelist_apply.hpp \
- ${pb_srcdir}/detail/typelist/typelist_assoc_container_find.hpp \
- ${pb_srcdir}/detail/typelist/typelist_at_index.hpp \
- ${pb_srcdir}/detail/typelist/typelist_contains.hpp \
- ${pb_srcdir}/detail/typelist/typelist_filter.hpp \
- ${pb_srcdir}/detail/typelist/typelist_flatten.hpp \
- ${pb_srcdir}/detail/typelist/typelist_transform.hpp \
- ${pb_srcdir}/detail/typelist/typelist_typelist_append.hpp \
${pb_srcdir}/detail/types_traits.hpp \
${pb_srcdir}/detail/type_utils.hpp \
${pb_srcdir}/detail/unordered_iterator/const_iterator.hpp \
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index eef91ddaa02..87eb188e3bf 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -427,7 +427,6 @@ pb_subdirs = \
${pb_builddir}/detail/pairing_heap_ \
${pb_builddir}/detail/splay_tree_ \
${pb_builddir}/detail/list_update_map_ \
- ${pb_builddir}/detail/typelist \
${pb_builddir}/detail/basic_tree_policy \
${pb_builddir}/detail/trie_policy \
${pb_builddir}/detail/gp_hash_table_map_ \
@@ -726,17 +725,6 @@ pb_headers7 = \
${pb_srcdir}/detail/trie_policy/sample_trie_node_update.hpp \
${pb_srcdir}/detail/trie_policy/string_trie_e_access_traits_imp.hpp \
${pb_srcdir}/detail/trie_policy/trie_policy_base.hpp \
- ${pb_srcdir}/detail/typelist_assoc_container.hpp \
- ${pb_srcdir}/detail/typelist.hpp \
- ${pb_srcdir}/detail/typelist/typelist_append.hpp \
- ${pb_srcdir}/detail/typelist/typelist_apply.hpp \
- ${pb_srcdir}/detail/typelist/typelist_assoc_container_find.hpp \
- ${pb_srcdir}/detail/typelist/typelist_at_index.hpp \
- ${pb_srcdir}/detail/typelist/typelist_contains.hpp \
- ${pb_srcdir}/detail/typelist/typelist_filter.hpp \
- ${pb_srcdir}/detail/typelist/typelist_flatten.hpp \
- ${pb_srcdir}/detail/typelist/typelist_transform.hpp \
- ${pb_srcdir}/detail/typelist/typelist_typelist_append.hpp \
${pb_srcdir}/detail/types_traits.hpp \
${pb_srcdir}/detail/type_utils.hpp \
${pb_srcdir}/detail/unordered_iterator/const_iterator.hpp \
diff --git a/libstdc++-v3/include/ext/pb_ds/assoc_container.hpp b/libstdc++-v3/include/ext/pb_ds/assoc_container.hpp
index bfc88b480d6..4491768cb47 100644
--- a/libstdc++-v3/include/ext/pb_ds/assoc_container.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/assoc_container.hpp
@@ -47,7 +47,7 @@
#ifndef PB_DS_ASSOC_CNTNR_HPP
#define PB_DS_ASSOC_CNTNR_HPP
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <ext/pb_ds/tag_and_trait.hpp>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <ext/pb_ds/detail/container_base_dispatch.hpp>
@@ -55,7 +55,7 @@
namespace pb_ds
{
-#define PB_DS_BASE_C_DEC \
+#define PB_DS_BASE_C_DEC \
detail::container_base_dispatch<Key, Mapped, Tag, Policy_Tl, Allocator>::type
// An abstract basic associative container.
@@ -117,10 +117,9 @@ namespace pb_ds
#undef PB_DS_BASE_C_DEC
-#define PB_DS_BASE_C_DEC \
- container_base<Key, Mapped, Tag, typename detail::typelist_append< \
- typename detail::typelist4<Hash_Fn, Eq_Fn, Resize_Policy, detail::integral_constant<int,Store_Hash> >::type, \
- Policy_TL>::type, Allocator>
+#define PB_DS_BASE_C_DEC \
+ container_base<Key, Mapped, Tag, typename __gnu_cxx::typelist::append< \
+ typename __gnu_cxx::typelist::create4<Hash_Fn, Eq_Fn, Resize_Policy, detail::integral_constant<int, Store_Hash> >::type, Policy_TL>::type, Allocator>
// An abstract basic hash-based associative container.
template<typename Key,
@@ -154,10 +153,10 @@ namespace pb_ds
#undef PB_DS_BASE_C_DEC
-#define PB_DS_BASE_C_DEC \
+#define PB_DS_BASE_C_DEC \
basic_hash_table<Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, \
- cc_hash_tag, \
- typename detail::typelist1<Comb_Hash_Fn>::type, Allocator>
+ cc_hash_tag, \
+ typename __gnu_cxx::typelist::create1<Comb_Hash_Fn>::type, Allocator>
// A concrete collision-chaining hash-based associative container.
template<typename Key,
@@ -291,10 +290,10 @@ namespace pb_ds
#undef PB_DS_BASE_C_DEC
-#define PB_DS_BASE_C_DEC \
+#define PB_DS_BASE_C_DEC \
basic_hash_table<Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, \
- gp_hash_tag, \
- typename detail::typelist2<Comb_Probe_Fn, Probe_Fn>::type, Allocator>
+ gp_hash_tag, \
+ typename __gnu_cxx::typelist::create2<Comb_Probe_Fn, Probe_Fn>::type, Allocator>
// A concrete general-probing hash-based associative container.
template<typename Key,
@@ -490,7 +489,7 @@ namespace pb_ds
#define PB_DS_BASE_C_DEC \
basic_tree<Key,Mapped,Tag,typename PB_DS_TREE_NODE_AND_IT_TRAITS_C_DEC::node_update, \
- typename detail::typelist2<Cmp_Fn, PB_DS_TREE_NODE_AND_IT_TRAITS_C_DEC >::type, Allocator>
+ typename __gnu_cxx::typelist::create2<Cmp_Fn, PB_DS_TREE_NODE_AND_IT_TRAITS_C_DEC >::type, Allocator>
// A concrete basic tree-based associative container.
template<typename Key, typename Mapped, typename Cmp_Fn = std::less<Key>,
@@ -561,7 +560,7 @@ namespace pb_ds
#define PB_DS_BASE_C_DEC \
basic_tree<Key,Mapped,Tag, typename PB_DS_TRIE_NODE_AND_ITS_TRAITS::node_update, \
- typename detail::typelist2<E_Access_Traits, PB_DS_TRIE_NODE_AND_ITS_TRAITS >::type, Allocator>
+ typename __gnu_cxx::typelist::create2<E_Access_Traits, PB_DS_TRIE_NODE_AND_ITS_TRAITS >::type, Allocator>
// A concrete basic trie-based associative container.
template<typename Key,
@@ -632,9 +631,9 @@ namespace pb_ds
#undef PB_DS_TRIE_NODE_AND_ITS_TRAITS
-#define PB_DS_BASE_C_DEC \
- container_base<Key, Mapped, list_update_tag, \
- typename detail::typelist2<Eq_Fn, Update_Policy>::type, Allocator>
+#define PB_DS_BASE_C_DEC \
+ container_base<Key, Mapped, list_update_tag, \
+ typename __gnu_cxx::typelist::create2<Eq_Fn, Update_Policy>::type, Allocator>
// A list-update based associative container.
template<typename Key,
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/container_base_dispatch.hpp b/libstdc++-v3/include/ext/pb_ds/detail/container_base_dispatch.hpp
index 6009a686305..37db003fd75 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/container_base_dispatch.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/container_base_dispatch.hpp
@@ -47,7 +47,7 @@
#ifndef PB_DS_ASSOC_CNTNR_BASE_DS_DISPATCHER_HPP
#define PB_DS_ASSOC_CNTNR_BASE_DS_DISPATCHER_HPP
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#define PB_DS_DATA_TRUE_INDICATOR
#include <ext/pb_ds/detail/list_update_map_/lu_map_.hpp>
@@ -107,303 +107,232 @@
namespace pb_ds
{
- namespace detail
+namespace detail
+{
+ // Primary template.
+ template<typename Key, typename Mapped, typename Data_Structure_Taq,
+ typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch;
+
+ template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, Mapped, list_update_tag,
+ Policy_Tl, Alloc>
+ {
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
+ typedef typename at0::type at0t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
+
+ public:
+ typedef lu_map_data_<Key, Mapped, at0t, Alloc, at1t> type;
+ };
+
+ template<typename Key, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, null_mapped_type, list_update_tag,
+ Policy_Tl, Alloc>
+ {
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
+ typedef typename at0::type at0t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
+
+ public:
+ typedef lu_map_no_data_<Key, null_mapped_type, at0t, Alloc, at1t> type;
+ };
+
+ template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, Mapped, pat_trie_tag, Policy_Tl, Alloc>
{
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
- template<typename Key,
- typename Mapped,
- class Data_Structure_Taq,
- class Policy_Tl,
- class Allocator>
- struct container_base_dispatch;
-
- template<typename Key,
- typename Mapped,
- class Policy_Tl,
- class Allocator>
- struct container_base_dispatch<
- Key,
- Mapped,
- list_update_tag,
- Policy_Tl,
- Allocator>
- {
- typedef
- lu_map_data_<
- Key,
- Mapped,
- typename typelist_at_index<Policy_Tl, 0>::type,
- Allocator,
- typename typelist_at_index<Policy_Tl, 1>::type>
- type;
- };
-
- template<typename Key, class Policy_Tl, class Allocator>
- struct container_base_dispatch<
- Key,
- null_mapped_type,
- list_update_tag,
- Policy_Tl,
- Allocator>
- {
- typedef
- lu_map_no_data_<
- Key,
- null_mapped_type,
- typename typelist_at_index<Policy_Tl, 0>::type,
- Allocator,
- typename typelist_at_index<Policy_Tl, 1>::type>
- type;
- };
-
- template<typename Key,
- typename Mapped,
- class Policy_Tl,
- class Allocator>
- struct container_base_dispatch<
- Key,
- Mapped,
- pat_trie_tag,
- Policy_Tl,
- Allocator>
- {
- typedef
- pat_trie_data_<
- Key,
- Mapped,
- typename typelist_at_index<Policy_Tl, 1>::type,
- Allocator>
- type;
- };
-
- template<typename Key, class Policy_Tl, class Allocator>
- struct container_base_dispatch<
- Key,
- null_mapped_type,
- pat_trie_tag,
- Policy_Tl,
- Allocator>
- {
- typedef
- pat_trie_no_data_<
- Key,
- null_mapped_type,
- typename typelist_at_index<Policy_Tl, 1>::type,
- Allocator>
- type;
- };
-
- template<typename Key,
- typename Mapped,
- class Policy_Tl,
- class Allocator>
- struct container_base_dispatch<
- Key,
- Mapped,
- rb_tree_tag,
- Policy_Tl,
- Allocator>
- {
- typedef
- rb_tree_data_<
- Key,
- Mapped,
- typename typelist_at_index<Policy_Tl, 0>::type,
- typename typelist_at_index<Policy_Tl, 1>::type,
- Allocator>
- type;
- };
-
- template<typename Key, class Policy_Tl, class Allocator>
- struct container_base_dispatch<
- Key,
- null_mapped_type,
- rb_tree_tag,
- Policy_Tl,
- Allocator>
- {
- typedef
- rb_tree_no_data_<
- Key,
- null_mapped_type,
- typename typelist_at_index<Policy_Tl, 0>::type,
- typename typelist_at_index<Policy_Tl, 1>::type,
- Allocator>
- type;
- };
-
- template<typename Key,
- typename Mapped,
- class Policy_Tl,
- class Allocator>
- struct container_base_dispatch<
- Key,
- Mapped,
- splay_tree_tag,
- Policy_Tl,
- Allocator>
-
- {
- typedef
- splay_tree_data_<
- Key,
- Mapped,
- typename typelist_at_index<Policy_Tl, 0>::type,
- typename typelist_at_index<Policy_Tl, 1>::type,
- Allocator>
- type;
- };
-
- template<typename Key, class Policy_Tl, class Allocator>
- struct container_base_dispatch<
- Key,
- null_mapped_type,
- splay_tree_tag,
- Policy_Tl,
- Allocator>
- {
- typedef
- splay_tree_no_data_<
- Key,
- null_mapped_type,
- typename typelist_at_index<Policy_Tl, 0>::type,
- typename typelist_at_index<Policy_Tl, 1>::type,
- Allocator>
- type;
- };
-
- template<typename Key,
- typename Mapped,
- class Policy_Tl,
- class Allocator>
- struct container_base_dispatch<
- Key,
- Mapped,
- ov_tree_tag,
- Policy_Tl,
- Allocator>
- {
- typedef
- ov_tree_data_<
- Key,
- Mapped,
- typename typelist_at_index<Policy_Tl, 0>::type,
- typename typelist_at_index<Policy_Tl, 1>::type,
- Allocator>
- type;
- };
-
- template<typename Key, class Policy_Tl, class Allocator>
- struct container_base_dispatch<
- Key,
- null_mapped_type,
- ov_tree_tag,
- Policy_Tl,
- Allocator>
- {
- typedef
- ov_tree_no_data_<
- Key,
- null_mapped_type,
- typename typelist_at_index<Policy_Tl, 0>::type,
- typename typelist_at_index<Policy_Tl, 1>::type,
- Allocator>
- type;
- };
-
- template<typename Key,
- typename Mapped,
- class Policy_Tl,
- class Allocator>
- struct container_base_dispatch<
- Key,
- Mapped,
- cc_hash_tag,
- Policy_Tl,
- Allocator>
- {
- typedef
- cc_ht_map_data_<
- Key,
- Mapped,
- typename typelist_at_index<Policy_Tl, 0>::type,
- typename typelist_at_index<Policy_Tl, 1>::type,
- Allocator,
- typelist_at_index<Policy_Tl, 3>::type::value,
- typename typelist_at_index<Policy_Tl, 4>::type,
- typename typelist_at_index<Policy_Tl, 2>::type>
- type;
- };
-
- template<typename Key, class Policy_Tl, class Allocator>
- struct container_base_dispatch<
- Key,
- null_mapped_type,
- cc_hash_tag,
- Policy_Tl,
- Allocator>
- {
- typedef
- cc_ht_map_no_data_<
- Key,
- null_mapped_type,
- typename typelist_at_index<Policy_Tl, 0>::type,
- typename typelist_at_index<Policy_Tl, 1>::type,
- Allocator,
- typelist_at_index<Policy_Tl, 3>::type::value,
- typename typelist_at_index<Policy_Tl, 4>::type,
- typename typelist_at_index<Policy_Tl, 2>::type>
- type;
- };
-
- template<typename Key,
- typename Mapped,
- class Policy_Tl,
- class Allocator>
- struct container_base_dispatch<
- Key,
- Mapped,
- gp_hash_tag,
- Policy_Tl,
- Allocator>
- {
- typedef
- gp_ht_map_data_<
- Key,
- Mapped,
- typename typelist_at_index<Policy_Tl, 0>::type,
- typename typelist_at_index<Policy_Tl, 1>::type,
- Allocator,
- typelist_at_index<Policy_Tl, 3>::type::value,
- typename typelist_at_index<Policy_Tl, 4>::type,
- typename typelist_at_index<Policy_Tl, 5>::type,
- typename typelist_at_index<Policy_Tl, 2>::type>
- type;
- };
-
- template<typename Key, class Policy_Tl, class Allocator>
- struct container_base_dispatch<
- Key,
- null_mapped_type,
- gp_hash_tag,
- Policy_Tl,
- Allocator>
- {
- typedef
- gp_ht_map_no_data_<
- Key,
- null_mapped_type,
- typename typelist_at_index<Policy_Tl, 0>::type,
- typename typelist_at_index<Policy_Tl, 1>::type,
- Allocator,
- typelist_at_index<Policy_Tl, 3>::type::value,
- typename typelist_at_index<Policy_Tl, 4>::type,
- typename typelist_at_index<Policy_Tl, 5>::type,
- typename typelist_at_index<Policy_Tl, 2>::type>
- type;
- };
-
- } // namespace detail
+ public:
+ typedef pat_trie_data_<Key, Mapped, at1t, Alloc> type;
+ };
+
+ template<typename Key, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, null_mapped_type, pat_trie_tag,
+ Policy_Tl, Alloc>
+ {
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
+
+ public:
+ typedef pat_trie_no_data_<Key, null_mapped_type, at1t, Alloc> type;
+ };
+
+ template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, Mapped, rb_tree_tag, Policy_Tl, Alloc>
+ {
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
+ typedef typename at0::type at0t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
+
+ public:
+ typedef rb_tree_data_<Key, Mapped, at0t, at1t, Alloc> type;
+ };
+
+ template<typename Key, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, null_mapped_type, rb_tree_tag,
+ Policy_Tl, Alloc>
+ {
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
+ typedef typename at0::type at0t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
+
+ public:
+ typedef rb_tree_no_data_<Key, null_mapped_type, at0t, at1t, Alloc> type;
+ };
+
+ template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, Mapped, splay_tree_tag,
+ Policy_Tl, Alloc>
+ {
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
+ typedef typename at0::type at0t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
+
+ public:
+ typedef splay_tree_data_<Key, Mapped, at0t, at1t, Alloc> type;
+ };
+
+ template<typename Key, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, null_mapped_type, splay_tree_tag,
+ Policy_Tl, Alloc>
+ {
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
+ typedef typename at0::type at0t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
+
+ public:
+ typedef splay_tree_no_data_<Key, null_mapped_type, at0t, at1t, Alloc> type;
+ };
+
+ template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, Mapped, ov_tree_tag, Policy_Tl, Alloc>
+ {
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
+ typedef typename at0::type at0t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
+
+ public:
+ typedef ov_tree_data_<Key, Mapped, at0t, at1t, Alloc> type;
+ };
+
+ template<typename Key, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, null_mapped_type, ov_tree_tag,
+ Policy_Tl, Alloc>
+ {
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
+ typedef typename at0::type at0t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
+
+ public:
+ typedef ov_tree_no_data_<Key, null_mapped_type, at0t, at1t, Alloc> type;
+ };
+
+ template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, Mapped, cc_hash_tag, Policy_Tl, Alloc>
+ {
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
+ typedef typename at0::type at0t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 2> at2;
+ typedef typename at2::type at2t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 3> at3;
+ typedef typename at3::type at3t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 4> at4;
+ typedef typename at4::type at4t;
+
+ public:
+ typedef cc_ht_map_data_<Key, Mapped, at0t, at1t, Alloc, at3t::value,
+ at4t, at2t> type;
+ };
+
+ template<typename Key, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, null_mapped_type, cc_hash_tag,
+ Policy_Tl, Alloc>
+ {
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
+ typedef typename at0::type at0t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 2> at2;
+ typedef typename at2::type at2t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 3> at3;
+ typedef typename at3::type at3t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 4> at4;
+ typedef typename at4::type at4t;
+
+ public:
+ typedef cc_ht_map_no_data_<Key, null_mapped_type, at0t, at1t, Alloc,
+ at3t::value, at4t, at2t> type;
+ };
+
+ template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, Mapped, gp_hash_tag, Policy_Tl, Alloc>
+ {
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
+ typedef typename at0::type at0t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 2> at2;
+ typedef typename at2::type at2t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 3> at3;
+ typedef typename at3::type at3t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 4> at4;
+ typedef typename at4::type at4t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 5> at5;
+ typedef typename at5::type at5t;
+
+ public:
+ typedef gp_ht_map_data_<Key, Mapped, at0t, at1t, Alloc, at3t::value,
+ at4t, at5t, at2t> type;
+ };
+
+ template<typename Key, typename Policy_Tl, typename Alloc>
+ struct container_base_dispatch<Key, null_mapped_type, gp_hash_tag,
+ Policy_Tl, Alloc>
+ {
+ private:
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
+ typedef typename at0::type at0t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
+ typedef typename at1::type at1t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 2> at2;
+ typedef typename at2::type at2t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 3> at3;
+ typedef typename at3::type at3t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 4> at4;
+ typedef typename at4::type at4t;
+ typedef __gnu_cxx::typelist::at_index<Policy_Tl, 5> at5;
+ typedef typename at5::type at5t;
+
+ public:
+ typedef gp_ht_map_no_data_<Key, null_mapped_type, at0t, at1t, Alloc,
+ at3t::value, at4t, at5t, at2t> type;
+ };
+} // namespace detail
} // namespace pb_ds
-#endif // #ifndef PB_DS_ASSOC_CNTNR_BASE_DS_DISPATCHER_HPP
+#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 63656723f7b..c10f7b6cc59 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
@@ -44,9 +44,8 @@
* Contains a resize trigger implementation.
*/
-#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
- typedef detail::static_assert_dumclass<sizeof(detail::static_assert<(bool)(E)>)> \
- UNIQUE##static_assert_type
+#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
+ typedef detail::static_assert_dumclass<sizeof(detail::static_assert<(bool)(E)>)> UNIQUE##static_assert_type
PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
@@ -80,25 +79,19 @@ PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_insert_search_start()
-{
- m_num_col = 0;
-}
+{ m_num_col = 0; }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_insert_search_collision()
-{
- ++m_num_col;
-}
+{ ++m_num_col; }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_insert_search_end()
-{
- calc_resize_needed();
-}
+{ calc_resize_needed(); }
PB_DS_CLASS_T_DEC
inline void
@@ -121,40 +114,32 @@ notify_erase_search_end()
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
-notify_inserted(size_type /*num_e*/)
+notify_inserted(size_type)
{ }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
-notify_erased(size_type /*num_e*/)
-{
- m_resize_needed = true;
-}
+notify_erased(size_type)
+{ m_resize_needed = true; }
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
notify_cleared()
-{
- m_resize_needed = false;
-}
+{ m_resize_needed = false; }
PB_DS_CLASS_T_DEC
inline bool
PB_DS_CLASS_C_DEC::
is_resize_needed() const
-{
- return (m_resize_needed);
-}
+{ return m_resize_needed; }
PB_DS_CLASS_T_DEC
inline bool
PB_DS_CLASS_C_DEC::
is_grow_needed(size_type /*size*/, size_type /*num_used_e*/) const
-{
- return (m_num_col >= m_max_col);
-}
+{ return m_num_col >= m_max_col; }
PB_DS_CLASS_T_DEC
void
@@ -164,14 +149,12 @@ notify_resized(size_type new_size)
m_size = new_size;
#ifdef PB_DS_HT_MAP_RESIZE_TRACE_
- std::cerr << "chmccrt::notify_resized " <<
- static_cast<unsigned long>(new_size) << std::endl;
-#endif // #ifdef PB_DS_HT_MAP_RESIZE_TRACE_
+ std::cerr << "chmccrt::notify_resized "
+ << static_cast<unsigned long>(new_size) << std::endl;
+#endif
calc_max_num_coll();
-
calc_resize_needed();
-
m_num_col = 0;
}
@@ -181,25 +164,21 @@ PB_DS_CLASS_C_DEC::
calc_max_num_coll()
{
// max_col <-- \sqrt{2 load \ln( 2 m \ln( m ) ) }
-
- const double ln_arg = 2* m_size* ::log( (double)m_size);
-
- m_max_col =(size_type)::ceil( ::sqrt(2* m_load* ::log(ln_arg) ) );
+ const double ln_arg = 2 * m_size * ::log(double(m_size));
+ m_max_col = size_type(::ceil(::sqrt(2 * m_load * ::log(ln_arg))));
#ifdef PB_DS_HT_MAP_RESIZE_TRACE_
- std::cerr << "chmccrt::calc_max_num_coll " <<
- static_cast<unsigned long>(m_size) << " " <<
- static_cast<unsigned long>(m_max_col) << std::endl;
-#endif // #ifdef PB_DS_HT_MAP_RESIZE_TRACE_
+ std::cerr << "chmccrt::calc_max_num_coll "
+ << static_cast<unsigned long>(m_size) << " "
+ << static_cast<unsigned long>(m_max_col) << std::endl;
+#endif
}
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
notify_externally_resized(size_type new_size)
-{
- notify_resized(new_size);
-}
+{ notify_resized(new_size); }
PB_DS_CLASS_T_DEC
void
@@ -207,13 +186,9 @@ PB_DS_CLASS_C_DEC::
swap(PB_DS_CLASS_C_DEC& other)
{
std::swap(m_load, other.m_load);
-
std::swap(m_size, other.m_size);
-
std::swap(m_num_col, other.m_num_col);
-
std::swap(m_max_col, other.m_max_col);
-
std::swap(m_resize_needed, other.m_resize_needed);
}
@@ -223,18 +198,14 @@ PB_DS_CLASS_C_DEC::
get_load() const
{
PB_DS_STATIC_ASSERT(access, external_load_access);
-
- return (m_load);
+ return m_load;
}
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
calc_resize_needed()
-{
- m_resize_needed =
- m_resize_needed || m_num_col >= m_max_col;
-}
+{ m_resize_needed = m_resize_needed || m_num_col >= m_max_col; }
PB_DS_CLASS_T_DEC
void
@@ -242,11 +213,8 @@ PB_DS_CLASS_C_DEC::
set_load(float load)
{
PB_DS_STATIC_ASSERT(access, external_load_access);
-
m_load = load;
-
calc_max_num_coll();
-
calc_resize_needed();
}
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 ca98d9b5086..ccd7221ebd5 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
@@ -57,7 +57,6 @@ PB_DS_CLASS_C_DEC::
swap(PB_DS_CLASS_C_DEC& other)
{
std::swap(m_start_size, other.m_start_size);
-
std::swap(m_grow_factor, other.m_grow_factor);
}
@@ -67,18 +66,14 @@ PB_DS_CLASS_C_DEC::
get_nearest_larger_size(size_type size) const
{
size_type ret = m_start_size;
-
while (ret <= size)
{
const size_type next_ret = ret* m_grow_factor;
-
if (next_ret < ret)
throw insert_error();
-
ret = next_ret;
}
-
- return (ret);
+ return ret;
}
PB_DS_CLASS_T_DEC
@@ -87,20 +82,15 @@ PB_DS_CLASS_C_DEC::
get_nearest_smaller_size(size_type size) const
{
size_type ret = m_start_size;
-
while (true)
{
const size_type next_ret = ret* m_grow_factor;
-
if (next_ret < ret)
throw resize_error();
-
if (next_ret >= size)
return (ret);
-
ret = next_ret;
}
-
- return (ret);
+ return ret;
}
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 2733030dd00..9d6795916bb 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
@@ -44,8 +44,8 @@
* Contains a resize trigger implementation.
*/
-#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
- typedef detail::static_assert_dumclass<sizeof(detail::static_assert<(bool)(E)>)> UNIQUE##static_assert_type
+#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
+ typedef detail::static_assert_dumclass<sizeof(detail::static_assert<bool(E)>)> UNIQUE##static_assert_type
PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
index 488f4c521e6..436de797d6f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
@@ -49,124 +49,52 @@
namespace pb_ds
{
-
namespace detail
{
-
+ // Primary template.
template<typename Size_Type, bool Hold_Size>
class hash_load_check_resize_trigger_size_base;
-#define PB_DS_CLASS_T_DEC \
+ // Specializations.
template<typename Size_Type>
-
-#define PB_DS_CLASS_C_DEC \
- hash_load_check_resize_trigger_size_base< \
- Size_Type, \
- true>
-
- template<typename Size_Type>
- class hash_load_check_resize_trigger_size_base<
- Size_Type,
- true>
+ class hash_load_check_resize_trigger_size_base<Size_Type, true>
{
protected:
typedef Size_Type size_type;
- protected:
- inline
- hash_load_check_resize_trigger_size_base();
+ hash_load_check_resize_trigger_size_base(): m_size(0)
+ { }
inline void
- swap(PB_DS_CLASS_C_DEC& other);
+ swap(hash_load_check_resize_trigger_size_base& other)
+ { std::swap(m_size, other.m_size); }
inline void
- set_size(size_type size);
+ set_size(size_type size)
+ { m_size = size; }
inline size_type
- get_size() const;
+ get_size() const
+ { return m_size; }
private:
size_type m_size;
};
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- hash_load_check_resize_trigger_size_base() :
- m_size(0)
- { }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- set_size(size_type size)
- {
- m_size = size;
- }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- get_size() const
- {
- return (m_size);
- }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- swap(PB_DS_CLASS_C_DEC& other)
- {
- std::swap(m_size, other.m_size);
- }
-
-#undef PB_DS_CLASS_T_DEC
-
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Size_Type>
-
-#define PB_DS_CLASS_C_DEC \
- hash_load_check_resize_trigger_size_base< \
- Size_Type, \
- false>
-
template<typename Size_Type>
- class hash_load_check_resize_trigger_size_base<
- Size_Type,
- false>
+ class hash_load_check_resize_trigger_size_base<Size_Type, false>
{
protected:
typedef Size_Type size_type;
protected:
inline void
- swap(PB_DS_CLASS_C_DEC& other);
+ swap(hash_load_check_resize_trigger_size_base& other) { }
inline void
- set_size(size_type size);
+ set_size(size_type size) { }
};
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- swap(PB_DS_CLASS_C_DEC& /*other*/)
- { }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- set_size(size_type /*size*/)
- {
- // Do nothing
- }
-
-#undef PB_DS_CLASS_T_DEC
-
-#undef PB_DS_CLASS_C_DEC
-
} // namespace detail
-
} // namespace pb_ds
-#endif // #ifndef PB_DS_HASH_LOAD_CHECK_RESIZE_TRIGGER_SIZE_BASE_HPP
+#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 fea534ccbc1..8303c3fd3de 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
@@ -46,7 +46,6 @@
namespace detail
{
-
enum
{
num_distinct_sizes_32_bit = 30,
@@ -57,7 +56,6 @@ namespace detail
// Originally taken from the SGI implementation; acknowledged in the docs.
// Further modified (for 64 bits) from tr1's hashtable.
-
static const std::size_t g_a_sizes[num_distinct_sizes_64_bit] =
{
/* 0 */ 5ul,
@@ -129,33 +127,26 @@ namespace detail
PB_DS_CLASS_T_DEC
inline
PB_DS_CLASS_C_DEC::
-hash_prime_size_policy(size_type start_size) :
- m_start_size(start_size)
-{
- m_start_size =
- get_nearest_larger_size(start_size);
-}
+hash_prime_size_policy(size_type start_size) : m_start_size(start_size)
+{ m_start_size = get_nearest_larger_size(start_size); }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
swap(PB_DS_CLASS_C_DEC& other)
-{
- std::swap(m_start_size, other.m_start_size);
-}
+{ std::swap(m_start_size, other.m_start_size); }
PB_DS_CLASS_T_DEC
inline PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC::
get_nearest_larger_size(size_type size) const
{
- const std::size_t* const p_upper =
- std::upper_bound( detail::g_a_sizes, detail::g_a_sizes + detail::num_distinct_sizes, size);
+ const std::size_t* const p_upper = std::upper_bound(detail::g_a_sizes,
+ detail::g_a_sizes + detail::num_distinct_sizes, size);
if (p_upper == detail::g_a_sizes + detail::num_distinct_sizes)
throw resize_error();
-
- return (*p_upper);
+ return *p_upper;
}
PB_DS_CLASS_T_DEC
@@ -163,13 +154,12 @@ inline PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC::
get_nearest_smaller_size(size_type size) const
{
- const size_t* p_lower = std::lower_bound( detail::g_a_sizes, detail::g_a_sizes + detail::num_distinct_sizes, size);
+ const size_t* p_lower = std::lower_bound(detail::g_a_sizes,
+ detail::g_a_sizes + detail::num_distinct_sizes, size);
if (*p_lower >= size&& p_lower != detail::g_a_sizes)
--p_lower;
-
if (*p_lower < m_start_size)
- return (m_start_size);
-
- return (*p_lower);
+ return m_start_size;
+ return *p_lower;
}
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 460528a0dc1..bbea0b2a364 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
@@ -44,36 +44,30 @@
* Contains a resize policy implementation.
*/
-#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
- typedef detail::static_assert_dumclass<sizeof(detail::static_assert<(bool)(E)>)> \
- UNIQUE##static_assert_type
+#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
+ typedef detail::static_assert_dumclass<sizeof(detail::static_assert<(bool)(E)>)> UNIQUE##static_assert_type
PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
hash_standard_resize_policy() :
m_size(Size_Policy::get_nearest_larger_size(1))
-{
- trigger_policy_base::notify_externally_resized(m_size);
-}
+{ trigger_policy_base::notify_externally_resized(m_size); }
PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
hash_standard_resize_policy(const Size_Policy& r_size_policy) :
Size_Policy(r_size_policy),
m_size(Size_Policy::get_nearest_larger_size(1))
-{
- trigger_policy_base::notify_externally_resized(m_size);
-}
+{ trigger_policy_base::notify_externally_resized(m_size); }
PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
-hash_standard_resize_policy(const Size_Policy& r_size_policy, const Trigger_Policy& r_trigger_policy) :
+hash_standard_resize_policy(const Size_Policy& r_size_policy,
+ const Trigger_Policy& r_trigger_policy) :
Size_Policy(r_size_policy),
Trigger_Policy(r_trigger_policy),
m_size(Size_Policy::get_nearest_larger_size(1))
-{
- trigger_policy_base::notify_externally_resized(m_size);
-}
+{ trigger_policy_base::notify_externally_resized(m_size); }
PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC::
@@ -86,9 +80,7 @@ PB_DS_CLASS_C_DEC::
swap(PB_DS_CLASS_C_DEC& other)
{
trigger_policy_base::swap(other);
-
size_policy_base::swap(other);
-
std::swap(m_size, other.m_size);
}
@@ -96,105 +88,79 @@ PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_find_search_start()
-{
- trigger_policy_base::notify_find_search_start();
-}
+{ trigger_policy_base::notify_find_search_start(); }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_find_search_collision()
-{
- trigger_policy_base::notify_find_search_collision();
-}
+{ trigger_policy_base::notify_find_search_collision(); }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_find_search_end()
-{
- trigger_policy_base::notify_find_search_end();
-}
+{ trigger_policy_base::notify_find_search_end(); }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_insert_search_start()
-{
- trigger_policy_base::notify_insert_search_start();
-}
+{ trigger_policy_base::notify_insert_search_start(); }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_insert_search_collision()
-{
- trigger_policy_base::notify_insert_search_collision();
-}
+{ trigger_policy_base::notify_insert_search_collision(); }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_insert_search_end()
-{
- trigger_policy_base::notify_insert_search_end();
-}
+{ trigger_policy_base::notify_insert_search_end(); }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_erase_search_start()
-{
- trigger_policy_base::notify_erase_search_start();
-}
+{ trigger_policy_base::notify_erase_search_start(); }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_erase_search_collision()
-{
- trigger_policy_base::notify_erase_search_collision();
-}
+{ trigger_policy_base::notify_erase_search_collision(); }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_erase_search_end()
-{
- trigger_policy_base::notify_erase_search_end();
-}
+{ trigger_policy_base::notify_erase_search_end(); }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_inserted(size_type num_e)
-{
- trigger_policy_base::notify_inserted(num_e);
-}
+{ trigger_policy_base::notify_inserted(num_e); }
PB_DS_CLASS_T_DEC
inline void
PB_DS_CLASS_C_DEC::
notify_erased(size_type num_e)
-{
- trigger_policy_base::notify_erased(num_e);
-}
+{ trigger_policy_base::notify_erased(num_e); }
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
notify_cleared()
-{
- trigger_policy_base::notify_cleared();
-}
+{ trigger_policy_base::notify_cleared(); }
PB_DS_CLASS_T_DEC
inline bool
PB_DS_CLASS_C_DEC::
is_resize_needed() const
-{
- return (trigger_policy_base::is_resize_needed());
-}
+{ return trigger_policy_base::is_resize_needed(); }
PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::size_type
@@ -203,9 +169,8 @@ get_new_size(size_type size, size_type num_used_e) const
{
if (trigger_policy_base::
is_grow_needed(size, num_used_e))
- return (size_policy_base::get_nearest_larger_size(size));
-
- return (size_policy_base::get_nearest_smaller_size(size));
+ return size_policy_base::get_nearest_larger_size(size);
+ return size_policy_base::get_nearest_smaller_size(size);
}
PB_DS_CLASS_T_DEC
@@ -214,7 +179,6 @@ PB_DS_CLASS_C_DEC::
notify_resized(size_type new_size)
{
trigger_policy_base::notify_resized(new_size);
-
m_size = new_size;
}
@@ -224,8 +188,7 @@ PB_DS_CLASS_C_DEC::
get_actual_size() const
{
PB_DS_STATIC_ASSERT(access, external_size_access);
-
- return (m_size);
+ return m_size;
}
PB_DS_CLASS_T_DEC
@@ -234,7 +197,6 @@ PB_DS_CLASS_C_DEC::
resize(size_type new_size)
{
PB_DS_STATIC_ASSERT(access, external_size_access);
-
size_type actual_new_size = size_policy_base::get_nearest_larger_size(1);
while (actual_new_size < new_size)
{
@@ -243,7 +205,6 @@ resize(size_type new_size)
if (pot == actual_new_size&& pot < new_size)
throw resize_error();
-
actual_new_size = pot;
}
@@ -251,7 +212,6 @@ resize(size_type new_size)
--actual_new_size;
const size_type old_size = m_size;
-
try
{
do_resize(actual_new_size - 1);
@@ -259,13 +219,11 @@ resize(size_type new_size)
catch(insert_error& )
{
m_size = old_size;
-
throw resize_error();
}
catch(...)
{
m_size = old_size;
-
throw;
}
}
@@ -273,7 +231,7 @@ resize(size_type new_size)
PB_DS_CLASS_T_DEC
void
PB_DS_CLASS_C_DEC::
-do_resize(size_type /*new_size*/)
+do_resize(size_type)
{
// Do nothing
}
@@ -282,33 +240,25 @@ PB_DS_CLASS_T_DEC
Trigger_Policy&
PB_DS_CLASS_C_DEC::
get_trigger_policy()
-{
- return (*this);
-}
+{ return *this; }
PB_DS_CLASS_T_DEC
const Trigger_Policy&
PB_DS_CLASS_C_DEC::
get_trigger_policy() const
-{
- return (*this);
-}
+{ return *this; }
PB_DS_CLASS_T_DEC
Size_Policy&
PB_DS_CLASS_C_DEC::
get_size_policy()
-{
- return (*this);
-}
+{ return *this; }
PB_DS_CLASS_T_DEC
const Size_Policy&
PB_DS_CLASS_C_DEC::
get_size_policy() const
-{
- return (*this);
-}
+{ return *this; }
#undef PB_DS_STATIC_ASSERT
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
index 371ce31975b..cf7b1fb727c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
@@ -50,14 +50,11 @@
// A sample resize policy.
class sample_resize_policy
{
-
public:
// Size type.
typedef size_t size_type;
-public:
-
// Default constructor.
sample_resize_policy();
@@ -129,7 +126,6 @@ protected:
// Queries what the new size should be.
size_type
get_new_size(size_type size, size_type num_used_e) const;
-
};
-#endif // #ifndef PB_DS_SAMPLE_RESIZE_POLICY_HPP
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
index f85fe231f3e..db07fbbc7e0 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
@@ -50,14 +50,11 @@
// A sample resize trigger policy.
class sample_resize_trigger
{
-
public:
// Size type.
typedef size_t size_type;
-public:
-
// Default constructor.
sample_resize_trigger();
@@ -106,7 +103,8 @@ protected:
inline void
notify_erase_search_end();
- // Notifies an element was inserted. the total number of entries in the table is num_entries.
+ // Notifies an element was inserted. the total number of entries in
+ // the table is num_entries.
inline void
notify_inserted(size_type num_entries);
@@ -118,7 +116,8 @@ protected:
void
notify_cleared();
- // Notifies the table was resized as a result of this object's signifying that a resize is needed.
+ // Notifies the table was resized as a result of this object's
+ // signifying that a resize is needed.
void
notify_resized(size_type new_size);
@@ -139,9 +138,8 @@ private:
// Resizes to new_size.
virtual void
do_resize(size_type new_size);
-
};
} // namespace pb_ds
-#endif // #ifndef PB_DS_SAMPLE_RESIZE_TRIGGER_HPP
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
index 9681c872e0d..b88e7036387 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
@@ -50,14 +50,11 @@
// A sample size policy.
class sample_size_policy
{
-
public:
// Size type.
typedef size_t size_type;
-public:
-
// Default constructor.
sample_size_policy();
@@ -77,7 +74,6 @@ protected:
// Given a __size size, returns a __size that is smaller.
inline size_type
get_nearest_smaller_size(size_type size) const;
-
};
-#endif // #ifndef PB_DS_SAMPLE_SIZE_POLICY_HPP
+#endif
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/typelist.hpp b/libstdc++-v3/include/ext/pb_ds/detail/typelist.hpp
deleted file mode 100644
index 267db809153..00000000000
--- a/libstdc++-v3/include/ext/pb_ds/detail/typelist.hpp
+++ /dev/null
@@ -1,296 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License as published by the Free Software
-// Foundation; either version 2, or (at your option) any later
-// version.
-
-// This library is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file typelist.hpp
- * Contains typelist_chain definitions.
- * Typelists are an idea by Andrei Alexandrescu.
- */
-
-#ifndef PB_DS_TYPELIST_HPP
-#define PB_DS_TYPELIST_HPP
-
-#include <ext/pb_ds/detail/type_utils.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
- struct null_type
- { };
-
- template<typename Hd, typename Tl>
- struct typelist_chain
- {
- typedef Hd head;
- typedef Tl tail;
- };
-
- template<typename Root>
- struct typelist
- {
- typedef Root root;
- };
-
-#define PB_DS_TYPELIST_CHAIN1(X0) typelist_chain<X0, null_type>
-#define PB_DS_TYPELIST_CHAIN2(X0, X1) typelist_chain<X0, PB_DS_TYPELIST_CHAIN1(X1) >
-#define PB_DS_TYPELIST_CHAIN3(X0, X1, X2) typelist_chain<X0, PB_DS_TYPELIST_CHAIN2(X1, X2) >
-#define PB_DS_TYPELIST_CHAIN4(X0, X1, X2, X3) typelist_chain<X0, PB_DS_TYPELIST_CHAIN3(X1, X2, X3) >
-#define PB_DS_TYPELIST_CHAIN5(X0, X1, X2, X3, X4) typelist_chain<X0, PB_DS_TYPELIST_CHAIN4(X1, X2, X3, X4) >
-#define PB_DS_TYPELIST_CHAIN6(X0, X1, X2, X3, X4, X5) typelist_chain<X0, PB_DS_TYPELIST_CHAIN5(X1, X2, X3, X4, X5) >
-#define PB_DS_TYPELIST_CHAIN7(X0, X1, X2, X3, X4, X5, X6) typelist_chain<X0, PB_DS_TYPELIST_CHAIN6(X1, X2, X3, X4, X5, X6) >
-#define PB_DS_TYPELIST_CHAIN8(X0, X1, X2, X3, X4, X5, X6, X7) typelist_chain<X0, PB_DS_TYPELIST_CHAIN7(X1, X2, X3, X4, X5, X6, X7) >
-#define PB_DS_TYPELIST_CHAIN9(X0, X1, X2, X3, X4, X5, X6, X7, X8) typelist_chain<X0, PB_DS_TYPELIST_CHAIN8(X1, X2, X3, X4, X5, X6, X7, X8) >
-#define PB_DS_TYPELIST_CHAIN10(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9) typelist_chain<X0, PB_DS_TYPELIST_CHAIN9(X1, X2, X3, X4, X5, X6, X7, X8, X9) >
-#define PB_DS_TYPELIST_CHAIN11(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10) typelist_chain<X0, PB_DS_TYPELIST_CHAIN10(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10) >
-#define PB_DS_TYPELIST_CHAIN12(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11) typelist_chain<X0, PB_DS_TYPELIST_CHAIN11(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11) >
-#define PB_DS_TYPELIST_CHAIN13(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12) typelist_chain<X0, PB_DS_TYPELIST_CHAIN12(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12) >
-#define PB_DS_TYPELIST_CHAIN14(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13) typelist_chain<X0, PB_DS_TYPELIST_CHAIN13(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13) >
-#define PB_DS_TYPELIST_CHAIN15(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14) typelist_chain<X0, PB_DS_TYPELIST_CHAIN14(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14) >
-
-#include <ext/pb_ds/detail/typelist/typelist_apply.hpp>
-
- template<typename Fn, class Typelist>
- void
- typelist_apply(Fn& r_fn, Typelist)
- {
- detail::apply_<Fn, typename Typelist::root> a;
- a(r_fn);
- }
-
-#include <ext/pb_ds/detail/typelist/typelist_append.hpp>
-
- template<typename Typelist0, class Typelist1>
- struct typelist_append
- {
- private:
- typedef
- typename detail::typelist_append_<
- typename Typelist0::root,
- typename Typelist1::root>::type
- res_hd;
-
- public:
- typedef typelist< res_hd> type;
- };
-
-#include <ext/pb_ds/detail/typelist/typelist_typelist_append.hpp>
-
- template<typename Typelist_Typelist>
- struct typelist_typelist_append
- {
- private:
- typedef
- typename detail::typelist_typelist_append_<
- typename Typelist_Typelist::root>::type
- res_hd;
-
- public:
- typedef typelist< res_hd> type;
- };
-
-#include <ext/pb_ds/detail/typelist/typelist_contains.hpp>
-
- template<typename Typelist, typename T>
- struct typelist_contains
- {
- enum
- {
- value =
- detail::typelist_contains_<
- typename Typelist::root,
- T>::value
- };
- };
-
-#include <ext/pb_ds/detail/typelist/typelist_filter.hpp>
-
- template<typename Typelist, template<typename T>
- class Pred>
- struct typelist_filter
- {
- private:
- typedef
- typename detail::typelist_chain_filter_<
- typename Typelist::root,
- Pred>::type
- root_type;
-
- public:
- typedef typelist< root_type> type;
- };
-
-#include <ext/pb_ds/detail/typelist/typelist_at_index.hpp>
-
- template<typename Typelist, int i>
- struct typelist_at_index
- {
- typedef
- typename detail::typelist_chain_at_index_<
- typename Typelist::root,
- i>::type
- type;
- };
-
-#include <ext/pb_ds/detail/typelist/typelist_transform.hpp>
-
- template<typename Typelist, template<typename T>
- class Transform>
- struct typelist_transform
- {
- private:
- typedef
- typename detail::typelist_chain_transform_<
- typename Typelist::root,
- Transform>::type
- root_type;
-
- public:
- typedef typelist< root_type> type;
- };
-
-#include <ext/pb_ds/detail/typelist/typelist_flatten.hpp>
-
- template<typename Typelist_Typelist>
- struct typelist_flatten
- {
- private:
- typedef
- typename detail::typelist_chain_flatten_<
- typename Typelist_Typelist::root>::type
- root_type;
-
- public:
- typedef typelist< root_type> type;
- };
-
- template<typename Typelist>
- struct typelist_from_first
- {
- private:
- typedef typename typelist_at_index< Typelist, 0>::type first_type;
-
- public:
- typedef typelist< typelist_chain< first_type, null_type> > type;
- };
-
- template<typename T0>
- struct typelist1
- {
- typedef typelist< PB_DS_TYPELIST_CHAIN1( T0)> type;
- };
-
- template<typename T0, typename T1>
- struct typelist2
- {
- typedef
- typelist<
- PB_DS_TYPELIST_CHAIN2( T0, T1)>
- type;
- };
-
- template<typename T0, typename T1, typename T2>
- struct typelist3
- {
- typedef
- typelist<
- PB_DS_TYPELIST_CHAIN3( T0, T1, T2)>
- type;
- };
-
- template<typename T0, typename T1, typename T2, typename T3>
- struct typelist4
- {
- typedef
- typelist<
- PB_DS_TYPELIST_CHAIN4( T0, T1, T2, T3)>
- type;
- };
-
- template<typename T0,
- typename T1,
- typename T2,
- typename T3,
- typename T4>
- struct typelist5
- {
- typedef
- typelist<
- PB_DS_TYPELIST_CHAIN5( T0, T1, T2, T3, T4)>
- type;
- };
-
- template<typename T0,
- typename T1,
- typename T2,
- typename T3,
- typename T4,
- typename T5>
- struct typelist6
- {
- typedef
- typelist<
- PB_DS_TYPELIST_CHAIN6( T0, T1, T2, T3, T4, T5)>
- type;
- };
-
-#undef PB_DS_TYPELIST_CHAIN1
-#undef PB_DS_TYPELIST_CHAIN2
-#undef PB_DS_TYPELIST_CHAIN3
-#undef PB_DS_TYPELIST_CHAIN4
-#undef PB_DS_TYPELIST_CHAIN5
-#undef PB_DS_TYPELIST_CHAIN6
-#undef PB_DS_TYPELIST_CHAIN7
-#undef PB_DS_TYPELIST_CHAIN8
-#undef PB_DS_TYPELIST_CHAIN9
-#undef PB_DS_TYPELIST_CHAIN10
-#undef PB_DS_TYPELIST_CHAIN11
-#undef PB_DS_TYPELIST_CHAIN12
-#undef PB_DS_TYPELIST_CHAIN13
-#undef PB_DS_TYPELIST_CHAIN14
-#undef PB_DS_TYPELIST_CHAIN15
-
- } // namespace detail
-
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_TYPELIST_HPP
-
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_append.hpp b/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_append.hpp
deleted file mode 100644
index 2498628bd59..00000000000
--- a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_append.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License as published by the Free Software
-// Foundation; either version 2, or (at your option) any later
-// version.
-
-// This library is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file typelist_append.hpp
- * Contains typelist_chain utilities.
- * Typelists are an idea by Andrei Alexandrescu.
- */
-
-#ifndef PB_DS_TYPELIST_APPEND_HPP
-#define PB_DS_TYPELIST_APPEND_HPP
-
-#include <ext/pb_ds/detail/type_utils.hpp>
-
-namespace detail
-{
- template<typename Typelist_Chain0, class Typelist_Chain1>
- struct typelist_append_;
-
- template<typename Hd, typename Tl, class Typelist_Chain1>
- struct typelist_append_<typelist_chain<Hd, Tl>, Typelist_Chain1>
- {
- typedef typelist_chain<Hd, typename typelist_append_<Tl, Typelist_Chain1>::type> type;
- };
-
- template<typename Typelist_Chain1>
- struct typelist_append_< null_type, Typelist_Chain1>
- {
- typedef Typelist_Chain1 type;
- };
-
- template<typename Typelist_Chain0>
- struct typelist_append_<Typelist_Chain0, null_type>
- {
- typedef Typelist_Chain0 type;
- };
-
- template<>
- struct typelist_append_<null_type, null_type>
- {
- typedef null_type type;
- };
-} // namespace detail
-
-#endif // #ifndef PB_DS_TYPELIST_APPEND_HPP
-
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_apply.hpp b/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_apply.hpp
deleted file mode 100644
index 311301c94d6..00000000000
--- a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_apply.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License as published by the Free Software
-// Foundation; either version 2, or (at your option) any later
-// version.
-
-// This library is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file typelist_apply.hpp
- * Contains typelist utilities.
- * Typelists are an idea by Andrei Alexandrescu.
- */
-
-#ifndef PB_DS_TYPELIST_APPLY_HPP
-#define PB_DS_TYPELIST_APPLY_HPP
-
-#include <ext/pb_ds/detail/type_utils.hpp>
-
-namespace detail
-{
- template<typename Fn, class Typelist_Chain>
- struct apply_;
-
- template<typename Fn, class Hd, class Tl>
- struct apply_<Fn, typelist_chain<Hd, Tl> >
- {
- void
- operator()(Fn& r_fn)
- {
- r_fn(type_to_type<Hd>());
- apply_<Fn, Tl> next;
- next(r_fn);
- }
- };
-
- template<typename Fn>
- struct apply_<Fn, null_type>
- {
- void
- operator()(Fn&) { }
- };
-} // namespace detail
-
-#endif // #ifndef PB_DS_TYPELIST_APPLY_HPP
-
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_assoc_container_find.hpp b/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_assoc_container_find.hpp
deleted file mode 100644
index 68b7e8b8d35..00000000000
--- a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_assoc_container_find.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License as published by the Free Software
-// Foundation; either version 2, or (at your option) any later
-// version.
-
-// This library is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file typelist_assoc_container_find.hpp
- * Contains typelist utilities.
- * Typelists are an idea by Andrei Alexandrescu.
- */
-
-#ifndef PB_DS_TYPELIST_ASSOC_CNTNR_FIND_HPP
-#define PB_DS_TYPELIST_ASSOC_CNTNR_FIND_HPP
-
-#include <ext/pb_ds/detail/type_utils.hpp>
-
-namespace detail
-{
- template<typename Tl, typename Key>
- struct typelist_assoc_container_find_;
-
- template<typename Now_Key, typename Now_Data, typename Rest_Tl, typename Key>
- struct typelist_assoc_container_find_<
- typelist_chain<std::pair<Now_Key, Now_Data>, Rest_Tl>, Key>
- {
- typedef typename typelist_assoc_container_find_< Rest_Tl, Key>::type type;
- };
-
- template<typename Now_Key, typename Now_Data, typename Rest_Tl>
- struct typelist_assoc_container_find_<
- typelist_chain<std::pair<Now_Key, Now_Data>, Rest_Tl>, Now_Key>
- {
- typedef Now_Data type;
- };
-} // namespace detail
-
-#endif // #ifndef PB_DS_TYPELIST_ASSOC_CNTNR_FIND_HPP
-
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_at_index.hpp b/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_at_index.hpp
deleted file mode 100644
index a392d12edf1..00000000000
--- a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_at_index.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License as published by the Free Software
-// Foundation; either version 2, or (at your option) any later
-// version.
-
-// This library is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file typelist_at_index.hpp
- * Contains typelist utilities.
- * Typelists are an idea by Andrei Alexandrescu.
- */
-
-#ifndef PB_DS_TYPELIST_AT_INDEX_HPP
-#define PB_DS_TYPELIST_AT_INDEX_HPP
-
-#include <ext/pb_ds/detail/type_utils.hpp>
-
-namespace detail
-{
- template<typename Typelist_Chain, int i>
- struct typelist_chain_at_index_;
-
- template<typename Hd, class Tl>
- struct typelist_chain_at_index_<typelist_chain<Hd, Tl>, 0>
- {
- typedef Hd type;
- };
-
- template<typename Hd, class Tl, int i>
- struct typelist_chain_at_index_<typelist_chain<Hd, Tl>, i>
- {
- typedef typename typelist_chain_at_index_< Tl, i - 1>::type type;
- };
-} // namespace detail
-
-#endif // #ifndef PB_DS_TYPELIST_AT_INDEX_HPP
-
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_contains.hpp b/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_contains.hpp
deleted file mode 100644
index dc8a347afa5..00000000000
--- a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_contains.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License as published by the Free Software
-// Foundation; either version 2, or (at your option) any later
-// version.
-
-// This library is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file typelist_contains.hpp
- * Contains typelist utilities.
- * Typelists are an idea by Andrei Alexandrescu.
- */
-
-#ifndef PB_DS_TYPELIST_CONTAINS_HPP
-#define PB_DS_TYPELIST_CONTAINS_HPP
-
-#include <ext/pb_ds/detail/type_utils.hpp>
-
-namespace detail
-{
- template<typename Typelist_Chain, class T>
- struct typelist_contains_;
-
- template<typename T>
- struct typelist_contains_<null_type, T>
- {
- enum
- {
- value = false
- };
- };
-
- template<typename Hd, class Tl, class T>
- struct typelist_contains_<typelist_chain<Hd, Tl>, T>
- {
- enum
- {
- value = typelist_contains_<Tl, T>::value
- };
- };
-
- template<typename Tl, class T>
- struct typelist_contains_<typelist_chain<T, Tl>, T>
- {
- enum
- {
- value = true
- };
- };
-} // namespace detail
-
-#endif // #ifndef PB_DS_TYPELIST_CONTAINS_HPP
-
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_filter.hpp b/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_filter.hpp
deleted file mode 100644
index a29facb583b..00000000000
--- a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_filter.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License as published by the Free Software
-// Foundation; either version 2, or (at your option) any later
-// version.
-
-// This library is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file typelist_filter.hpp
- * Contains typelist utilities.
- * Typelists are an idea by Andrei Alexandrescu.
- */
-
-#ifndef PB_DS_TYPELIST_FILTER_HPP
-#define PB_DS_TYPELIST_FILTER_HPP
-
-#include <ext/pb_ds/detail/type_utils.hpp>
-
-namespace detail
-{
- template<typename Typelist_Chain, template<typename T> class Pred>
- struct typelist_chain_filter_;
-
- template<template<typename T>
- class Pred>
- struct typelist_chain_filter_<null_type, Pred>
- {
- typedef null_type type;
- };
-
- template<typename Hd, class Tl, template<typename T> class Pred>
- struct typelist_chain_filter_< typelist_chain<Hd, Tl>, Pred>
- {
- typedef typename typelist_chain_filter_< Tl, Pred>::type rest;
-
- enum
- {
- include_hd = Pred<Hd>::value
- };
-
- typedef typename __conditional_type<include_hd, typelist_chain<Hd, rest>, rest>::__type type;
- };
-} // namespace detail
-
-#endif // #ifndef PB_DS_TYPELIST_FILTER_HPP
-
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_flatten.hpp b/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_flatten.hpp
deleted file mode 100644
index 5d8e4989913..00000000000
--- a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_flatten.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License as published by the Free Software
-// Foundation; either version 2, or (at your option) any later
-// version.
-
-// This library is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file typelist_flatten.hpp
- * Contains typelist utilities.
- * Typelists are an idea by Andrei Alexandrescu.
- */
-
-#ifndef PB_DS_TYPELIST_FLATTEN_HPP
-#define PB_DS_TYPELIST_FLATTEN_HPP
-
-#include <ext/pb_ds/detail/type_utils.hpp>
-
-namespace detail
-{
- template<typename Typelist_Typelist_Chain>
- struct typelist_chain_flatten_;
-
- template<typename Hd_Tl>
- struct typelist_chain_flatten_<typelist_chain<Hd_Tl, null_type> >
- {
- typedef typename Hd_Tl::root type;
- };
-
- template<typename Hd_Typelist, class Tl_Typelist>
- struct typelist_chain_flatten_<typelist_chain<Hd_Typelist, Tl_Typelist> >
- {
- typedef typename typelist_chain_flatten_< Tl_Typelist>::type rest;
- typedef typename typelist_append<Hd_Typelist, typelist<rest> >::type::root type;
- };
-} // namespace detail
-
-#endif // #ifndef PB_DS_TYPELIST_FLATTEN_HPP
-
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_transform.hpp b/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_transform.hpp
deleted file mode 100644
index e62de8d6e44..00000000000
--- a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_transform.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License as published by the Free Software
-// Foundation; either version 2, or (at your option) any later
-// version.
-
-// This library is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file typelist_transform.hpp
- * Contains typelist utilities.
- * Typelists are an idea by Andrei Alexandrescu.
- */
-
-#ifndef PB_DS_TYPELIST_TRANSFORM_HPP
-#define PB_DS_TYPELIST_TRANSFORM_HPP
-
-#include <ext/pb_ds/detail/type_utils.hpp>
-
-namespace detail
-{
- template<typename Typelist_Chain, template<typename T> class Transform>
- struct typelist_chain_transform_;
-
- template<template<typename T> class Transform>
- struct typelist_chain_transform_<null_type, Transform>
- {
- typedef null_type type;
- };
-
- template<typename Hd, class Tl, template<typename T> class Transform>
- struct typelist_chain_transform_<typelist_chain<Hd, Tl>, Transform>
- {
- typedef typename typelist_chain_transform_< Tl, Transform>::type rest;
- typedef typename Transform<Hd>::type transform_type;
- typedef typelist_chain<transform_type, rest> type;
- };
-
-} // namespace detail
-
-#endif // #ifndef PB_DS_TYPELIST_TRANSFORM_HPP
-
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_typelist_append.hpp b/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_typelist_append.hpp
deleted file mode 100644
index 92ede86e9d5..00000000000
--- a/libstdc++-v3/include/ext/pb_ds/detail/typelist/typelist_typelist_append.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License as published by the Free Software
-// Foundation; either version 2, or (at your option) any later
-// version.
-
-// This library is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file typelist_typelist_append.hpp
- * Contains typelist_chain utilities.
- * Typelists are an idea by Andrei Alexandrescu.
- */
-
-#ifndef PB_DS_TYPELIST_TYPELIST_APPEND_HPP
-#define PB_DS_TYPELIST_TYPELIST_APPEND_HPP
-
-#include <ext/pb_ds/detail/type_utils.hpp>
-
-namespace detail
-{
-
- template<typename Typelist_Typelist_Chain>
- struct typelist_typelist_append_;
-
- template<typename Hd>
- struct typelist_typelist_append_<
- typelist_chain<Hd, null_type> >
- {
- typedef typelist_chain< Hd, null_type> type;
- };
-
- template<typename Hd, class Tl>
- struct typelist_typelist_append_<
- typelist_chain<
- Hd,
- Tl> >
- {
- private:
- typedef typename typelist_typelist_append_< Tl>::type rest;
-
- public:
- typedef
- typename typelist_append<
- Hd,
- typelist<
- rest> >::type::root
- type;
- };
-
-} // namespace detail
-
-#endif // #ifndef PB_DS_TYPELIST_TYPELIST_APPEND_HPP
-
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/typelist_assoc_container.hpp b/libstdc++-v3/include/ext/pb_ds/detail/typelist_assoc_container.hpp
deleted file mode 100644
index 19c703f9cb7..00000000000
--- a/libstdc++-v3/include/ext/pb_ds/detail/typelist_assoc_container.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License as published by the Free Software
-// Foundation; either version 2, or (at your option) any later
-// version.
-
-// This library is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file typelist_assoc_container.hpp
- * Contains an associative container based on typelists.
- * Typelists are an idea by Andrei Alexandrescu.
- */
-
-#ifndef PB_DS_TYPELIST_CHAIN_HPP
-#define PB_DS_TYPELIST_CHAIN_HPP
-
-#include <utility>
-#include <ext/pb_ds/detail/typelist.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Typelist = typelist<null_type> >
- struct typelist_assoc_container
- {
- typedef Typelist tl;
- };
-
- template<typename Typelist_Assoc_Cntnr, typename Key, typename Data>
- struct typelist_assoc_container_insert
- {
- private:
- typedef typename Typelist_Assoc_Cntnr::tl already_tl;
-
- typedef typelist<typelist_chain<std::pair<Key, Data>, null_type> > new_tl;
-
- typedef typename typelist_append< new_tl, already_tl>::type so_happy_together;
-
- public:
- typedef typelist_assoc_container< so_happy_together> type;
- };
-
-#include <ext/pb_ds/detail/typelist/typelist_assoc_container_find.hpp>
-
- template<typename Typelist_Assoc_Cntnr, typename Key>
- struct typelist_assoc_container_find
- {
- private:
- typedef typename Typelist_Assoc_Cntnr::tl already;
- typedef typename already::root already_root;
- };
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_TYPELIST_CHAIN_HPP
-
diff --git a/libstdc++-v3/include/ext/pb_ds/hash_policy.hpp b/libstdc++-v3/include/ext/pb_ds/hash_policy.hpp
index 3d3f20bac32..c17d97831f8 100644
--- a/libstdc++-v3/include/ext/pb_ds/hash_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/hash_policy.hpp
@@ -51,6 +51,7 @@
#include <vector>
#include <cmath>
#include <ext/pb_ds/exception.hpp>
+#include <ext/pb_ds/detail/type_utils.hpp>
#include <ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp>
#include <ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp>
#include <ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp>
diff --git a/libstdc++-v3/include/ext/typelist.h b/libstdc++-v3/include/ext/typelist.h
index a32259e465e..9a4813fd5bb 100644
--- a/libstdc++-v3/include/ext/typelist.h
+++ b/libstdc++-v3/include/ext/typelist.h
@@ -43,8 +43,8 @@
* Typelists are an idea by Andrei Alexandrescu.
*/
-#ifndef TYPELIST_HPP
-#define TYPELIST_HPP 1
+#ifndef _TYPELIST_H
+#define _TYPELIST_H 1
#include <ext/type_traits.h>
@@ -68,6 +68,10 @@ namespace typelist
typedef Typelist tail;
};
+ template<typename Fn, class Typelist>
+ void
+ apply(Fn&, Typelist);
+
template<typename Typelist0, typename Typelist1>
struct append;
@@ -83,11 +87,33 @@ namespace typelist
template<typename Typelist, int i>
struct at_index;
- template<typename Fn, typename Typelist>
- struct apply;
-
template<typename Typelist, template<typename T> class Transform>
struct transform;
+
+ template<typename Typelist_Typelist>
+ struct flatten;
+
+ template<typename Typelist>
+ struct from_first;
+
+ template<typename T1>
+ struct create1;
+
+ template<typename T1, typename T2>
+ struct create2;
+
+ template<typename T1, typename T2, typename T3>
+ struct create3;
+
+ template<typename T1, typename T2, typename T3, typename T4>
+ struct create4;
+
+ template<typename T1, typename T2, typename T3, typename T4, typename T5>
+ struct create5;
+
+ template<typename T1, typename T2, typename T3,
+ typename T4, typename T5, typename T6>
+ struct create6;
} // namespace typelist
_GLIBCXX_END_NAMESPACE
@@ -133,16 +159,50 @@ namespace detail
template<typename Hd, typename Tl, typename Typelist_Chain>
struct append_<chain<Hd, Tl>, Typelist_Chain>
{
- typedef append_<Tl, Typelist_Chain> append_type;
- typedef chain<Hd, typename append_type::type> type;
+ private:
+ typedef append_<Tl, Typelist_Chain> append_type;
+
+ public:
+ typedef chain<Hd, typename append_type::type> type;
};
template<typename Typelist_Chain>
struct append_<null_type, Typelist_Chain>
{
+ typedef Typelist_Chain type;
+ };
+
+ template<typename Typelist_Chain>
+ struct append_<Typelist_Chain, null_type>
+ {
typedef Typelist_Chain type;
};
+ template<>
+ struct append_<null_type, null_type>
+ {
+ typedef null_type type;
+ };
+
+ template<typename Typelist_Typelist_Chain>
+ struct append_typelist_;
+
+ template<typename Hd>
+ struct append_typelist_<chain<Hd, null_type> >
+ {
+ typedef chain<Hd, null_type> type;
+ };
+
+ template<typename Hd, typename Tl>
+ struct append_typelist_<chain< Hd, Tl> >
+ {
+ private:
+ typedef typename append_typelist_<Tl>::type rest_type;
+
+ public:
+ typedef typename append<Hd, node<rest_type> >::type::root type;
+ };
+
template<typename Typelist_Chain, typename T>
struct contains_;
@@ -179,19 +239,22 @@ namespace detail
template<template<typename T> class Pred>
struct chain_filter_<null_type, Pred>
{
- typedef null_type type;
+ typedef null_type type;
};
template<typename Hd, typename Tl, template<typename T> class Pred>
struct chain_filter_<chain<Hd, Tl>, Pred>
{
+ private:
enum
{
include_hd = Pred<Hd>::value
};
- typedef typename chain_filter_<Tl, Pred>::type rest_type;
- typedef chain<Hd, rest_type> chain_type;
+ typedef typename chain_filter_<Tl, Pred>::type rest_type;
+ typedef chain<Hd, rest_type> chain_type;
+
+ public:
typedef typename __conditional_type<include_hd, chain_type, rest_type>::__type type;
};
@@ -207,7 +270,7 @@ namespace detail
template<typename Hd, typename Tl, int i>
struct chain_at_index_<chain<Hd, Tl>, i>
{
- typedef typename chain_at_index_<Tl, i - 1>::type type;
+ typedef typename chain_at_index_<Tl, i - 1>::type type;
};
template<class Typelist_Chain, template<typename T> class Transform>
@@ -216,56 +279,70 @@ namespace detail
template<template<typename T> class Transform>
struct chain_transform_<null_type, Transform>
{
- typedef null_type type;
+ typedef null_type type;
};
template<class Hd, class Tl, template<typename T> class Transform>
struct chain_transform_<chain<Hd, Tl>, Transform>
{
- typedef typename chain_transform_<Tl, Transform>::type rest_type;
- typedef typename Transform<Hd>::type transform_type;
- typedef chain<transform_type, rest_type> type;
+ private:
+ typedef typename chain_transform_<Tl, Transform>::type rest_type;
+ typedef typename Transform<Hd>::type transform_type;
+
+ public:
+ typedef chain<transform_type, rest_type> type;
};
template<typename Typelist_Typelist_Chain>
- struct append_typelist_;
+ struct chain_flatten_;
- template<typename Hd>
- struct append_typelist_<chain<Hd, null_type> >
- {
- typedef chain<Hd, null_type> type;
- };
+ template<typename Hd_Tl>
+ struct chain_flatten_<chain<Hd_Tl, null_type> >
+ {
+ typedef typename Hd_Tl::root type;
+ };
- template<typename Hd, typename Tl>
- struct append_typelist_<chain< Hd, Tl> >
- {
- private:
- typedef typename append_typelist_<Tl>::type rest;
-
- public:
- typedef typename append<Hd, node<rest> >::type::root type;
- };
+ template<typename Hd_Typelist, class Tl_Typelist>
+ struct chain_flatten_<chain<Hd_Typelist, Tl_Typelist> >
+ {
+ private:
+ typedef typename chain_flatten_<Tl_Typelist>::type rest_type;
+ typedef append<Hd_Typelist, node<rest_type> > append_type;
+ public:
+ typedef typename append_type::type::root type;
+ };
} // namespace detail
} // namespace typelist
_GLIBCXX_END_NAMESPACE
+#define _GLIBCXX_TYPELIST_CHAIN1(X0) __gnu_cxx::typelist::chain<X0, __gnu_cxx::typelist::null_type>
+#define _GLIBCXX_TYPELIST_CHAIN2(X0, X1) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN1(X1) >
+#define _GLIBCXX_TYPELIST_CHAIN3(X0, X1, X2) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN2(X1, X2) >
+#define _GLIBCXX_TYPELIST_CHAIN4(X0, X1, X2, X3) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN3(X1, X2, X3) >
+#define _GLIBCXX_TYPELIST_CHAIN5(X0, X1, X2, X3, X4) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN4(X1, X2, X3, X4) >
+#define _GLIBCXX_TYPELIST_CHAIN6(X0, X1, X2, X3, X4, X5) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN5(X1, X2, X3, X4, X5) >
+#define _GLIBCXX_TYPELIST_CHAIN7(X0, X1, X2, X3, X4, X5, X6) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN6(X1, X2, X3, X4, X5, X6) >
+#define _GLIBCXX_TYPELIST_CHAIN8(X0, X1, X2, X3, X4, X5, X6, X7) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN7(X1, X2, X3, X4, X5, X6, X7) >
+#define _GLIBCXX_TYPELIST_CHAIN9(X0, X1, X2, X3, X4, X5, X6, X7, X8) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN8(X1, X2, X3, X4, X5, X6, X7, X8) >
+#define _GLIBCXX_TYPELIST_CHAIN10(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN9(X1, X2, X3, X4, X5, X6, X7, X8, X9) >
+#define _GLIBCXX_TYPELIST_CHAIN11(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN10(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10) >
+#define _GLIBCXX_TYPELIST_CHAIN12(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN11(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11) >
+#define _GLIBCXX_TYPELIST_CHAIN13(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN12(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12) >
+#define _GLIBCXX_TYPELIST_CHAIN14(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN13(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13) >
+#define _GLIBCXX_TYPELIST_CHAIN15(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN14(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14) >
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
namespace typelist
{
- template<typename Fn, typename Typelist>
- struct apply
+ template<typename Fn, class Typelist>
+ void
+ apply(Fn& fn, Typelist)
{
- void
- operator()(Fn& f)
- {
- typedef typename Typelist::root root_type;
- detail::apply_<Fn, root_type> a;
- a(f);
- }
- };
+ detail::apply_<Fn, typename Typelist::root> a;
+ a(fn);
+ }
template<typename Typelist0, typename Typelist1>
struct append
@@ -276,7 +353,7 @@ namespace typelist
typedef detail::append_<root0_type, root1_type> append_type;
public:
- typedef node<typename append_type::type> type;
+ typedef node<typename append_type::type> type;
};
template<typename Typelist_Typelist>
@@ -287,14 +364,16 @@ namespace typelist
typedef detail::append_typelist_<root_type> append_type;
public:
- typedef node<typename append_type::type> type;
+ typedef node<typename append_type::type> type;
};
template<typename Typelist, typename T>
struct contains
{
+ private:
typedef typename Typelist::root root_type;
+ public:
enum
{
value = detail::contains_<root_type, T>::value
@@ -309,15 +388,17 @@ namespace typelist
typedef detail::chain_filter_<root_type, Pred> filter_type;
public:
- typedef node<typename filter_type::type> type;
+ typedef node<typename filter_type::type> type;
};
template<typename Typelist, int i>
struct at_index
{
+ private:
typedef typename Typelist::root root_type;
typedef detail::chain_at_index_<root_type, i> index_type;
+ public:
typedef typename index_type::type type;
};
@@ -331,25 +412,68 @@ namespace typelist
public:
typedef node<typename transform_type::type> type;
};
+
+ template<typename Typelist_Typelist>
+ struct flatten
+ {
+ private:
+ typedef typename Typelist_Typelist::root root_type;
+ typedef typename detail::chain_flatten_<root_type>::type flatten_type;
+
+ public:
+ typedef node<flatten_type> type;
+ };
+
+ template<typename Typelist>
+ struct from_first
+ {
+ private:
+ typedef typename at_index<Typelist, 0>::type first_type;
+
+ public:
+ typedef node<chain<first_type, null_type> > type;
+ };
+
+ template<typename T1>
+ struct create1
+ {
+ typedef node<_GLIBCXX_TYPELIST_CHAIN1(T1)> type;
+ };
+
+ template<typename T1, typename T2>
+ struct create2
+ {
+ typedef node<_GLIBCXX_TYPELIST_CHAIN2(T1,T2)> type;
+ };
+
+ template<typename T1, typename T2, typename T3>
+ struct create3
+ {
+ typedef node<_GLIBCXX_TYPELIST_CHAIN3(T1,T2,T3)> type;
+ };
+
+ template<typename T1, typename T2, typename T3, typename T4>
+ struct create4
+ {
+ typedef node<_GLIBCXX_TYPELIST_CHAIN4(T1,T2,T3,T4)> type;
+ };
+
+ template<typename T1, typename T2, typename T3,
+ typename T4, typename T5>
+ struct create5
+ {
+ typedef node<_GLIBCXX_TYPELIST_CHAIN5(T1,T2,T3,T4,T5)> type;
+ };
+
+ template<typename T1, typename T2, typename T3,
+ typename T4, typename T5, typename T6>
+ struct create6
+ {
+ typedef node<_GLIBCXX_TYPELIST_CHAIN6(T1,T2,T3,T4,T5,T6)> type;
+ };
} // namespace typelist
_GLIBCXX_END_NAMESPACE
-#define _GLIBCXX_TYPELIST_CHAIN1(X0) __gnu_cxx::typelist::chain<X0, __gnu_cxx::typelist::null_type>
-#define _GLIBCXX_TYPELIST_CHAIN2(X0, X1) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN1(X1) >
-#define _GLIBCXX_TYPELIST_CHAIN3(X0, X1, X2) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN2(X1, X2) >
-#define _GLIBCXX_TYPELIST_CHAIN4(X0, X1, X2, X3) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN3(X1, X2, X3) >
-#define _GLIBCXX_TYPELIST_CHAIN5(X0, X1, X2, X3, X4) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN4(X1, X2, X3, X4) >
-#define _GLIBCXX_TYPELIST_CHAIN6(X0, X1, X2, X3, X4, X5) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN5(X1, X2, X3, X4, X5) >
-#define _GLIBCXX_TYPELIST_CHAIN7(X0, X1, X2, X3, X4, X5, X6) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN6(X1, X2, X3, X4, X5, X6) >
-#define _GLIBCXX_TYPELIST_CHAIN8(X0, X1, X2, X3, X4, X5, X6, X7) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN7(X1, X2, X3, X4, X5, X6, X7) >
-#define _GLIBCXX_TYPELIST_CHAIN9(X0, X1, X2, X3, X4, X5, X6, X7, X8) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN8(X1, X2, X3, X4, X5, X6, X7, X8) >
-#define _GLIBCXX_TYPELIST_CHAIN10(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN9(X1, X2, X3, X4, X5, X6, X7, X8, X9) >
-#define _GLIBCXX_TYPELIST_CHAIN11(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN10(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10) >
-#define _GLIBCXX_TYPELIST_CHAIN12(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN11(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11) >
-#define _GLIBCXX_TYPELIST_CHAIN13(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN12(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12) >
-#define _GLIBCXX_TYPELIST_CHAIN14(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN13(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13) >
-#define _GLIBCXX_TYPELIST_CHAIN15(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN14(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14) >
-
#endif
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc
index 908675cad1c..cb13b9ada45 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc
@@ -70,5 +70,5 @@ int main()
h.resize(20); // { dg-error "instantiated from" }
}
-// { dg-error "invalid" "" { target *-*-* } 236 }
+// { dg-error "invalid" "" { target *-*-* } 199 }
// { dg-excess-errors "member function" }
diff --git a/libstdc++-v3/testsuite/performance/23_containers/create/map.cc b/libstdc++-v3/testsuite/performance/23_containers/create/map.cc
index 08009ec7f48..5049e1a1ff5 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/create/map.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/create/map.cc
@@ -51,11 +51,9 @@ main()
#endif
typedef __gnu_test::maps<int, thread_type>::type container_types;
-
typedef test_sequence<thread_type> test_type;
test_type test("create");
- __gnu_cxx::typelist::apply<test_type, container_types> applier;
- applier(test);
+ __gnu_cxx::typelist::apply(test, container_types());
return 0;
}
diff --git a/libstdc++-v3/testsuite/performance/23_containers/create_from_sorted/set.cc b/libstdc++-v3/testsuite/performance/23_containers/create_from_sorted/set.cc
index 0c6bd709cb2..97ea3af117a 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/create_from_sorted/set.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/create_from_sorted/set.cc
@@ -61,11 +61,9 @@ main()
#endif
typedef __gnu_test::sets<int, thread_type>::type container_types;
-
typedef test_sequence<thread_type> test_type;
test_type test("create_from_sorted");
- __gnu_cxx::typelist::apply<test_type, container_types> applier;
- applier(test);
+ __gnu_cxx::typelist::apply(test, container_types());
return 0;
}
diff --git a/libstdc++-v3/testsuite/performance/23_containers/create_sort/list.cc b/libstdc++-v3/testsuite/performance/23_containers/create_sort/list.cc
index 02b25cde17f..7a47f32b2ec 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/create_sort/list.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/create_sort/list.cc
@@ -54,11 +54,9 @@ main()
#endif
typedef __gnu_test::lists<int, thread_type>::type container_types;
-
typedef test_sequence<thread_type> test_type;
test_type test("create_sort");
- __gnu_cxx::typelist::apply<test_type, container_types> applier;
- applier(test);
+ __gnu_cxx::typelist::apply(test, container_types());
return 0;
}
diff --git a/libstdc++-v3/testsuite/performance/23_containers/find/map.cc b/libstdc++-v3/testsuite/performance/23_containers/find/map.cc
index f11bda1c8e2..e6c2c79a7fc 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/find/map.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/find/map.cc
@@ -57,11 +57,9 @@ main()
#endif
typedef __gnu_test::maps<int, thread_type>::type container_types;
-
typedef test_sequence<thread_type> test_type;
test_type test("find");
- __gnu_cxx::typelist::apply<test_type, container_types> applier;
- applier(test);
+ __gnu_cxx::typelist::apply(test, container_types());
return 0;
}
diff --git a/libstdc++-v3/testsuite/performance/23_containers/index/map.cc b/libstdc++-v3/testsuite/performance/23_containers/index/map.cc
index 8682c9070d5..386890d90ea 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/index/map.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/index/map.cc
@@ -58,13 +58,10 @@ main()
#define thread_type true
#endif
- using __gnu_test::associative_containers;
typedef __gnu_test::maps<int, thread_type>::type container_types;
-
typedef test_sequence<thread_type> test_type;
test_type test("index_associative");
- __gnu_cxx::typelist::apply<test_type, container_types> applier;
- applier(test);
+ __gnu_cxx::typelist::apply(test, container_types());
return 0;
}
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc b/libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc
index 8be68f6c1ca..b3f8f71327c 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc
@@ -65,8 +65,7 @@ main()
typedef test_sequence<thread_type> test_type;
test_type test("insert_associative");
- __gnu_cxx::typelist::apply<test_type, container_types> applier;
- applier(test);
+ __gnu_cxx::typelist::apply(test, container_types());
return 0;
}
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc b/libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc
index b6cdbf117de..7023332e5e9 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc
@@ -61,8 +61,7 @@ main()
typedef test_sequence<thread_type> test_type;
test_type test("insert_sequence");
- __gnu_cxx::typelist::apply<test_type, container_types> applier;
- applier(test);
+ __gnu_cxx::typelist::apply(test, container_types());
return 0;
}
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert_erase/associative.cc b/libstdc++-v3/testsuite/performance/23_containers/insert_erase/associative.cc
index c0ce6f9aa45..ee48ce2a708 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert_erase/associative.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert_erase/associative.cc
@@ -68,8 +68,7 @@ main()
typedef test_sequence<thread_type> test_type;
test_type test("insert_erase_associative");
- __gnu_cxx::typelist::apply<test_type, container_types> applier;
- applier(test);
+ __gnu_cxx::typelist::apply(test, container_types());
return 0;
}
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert_from_sorted/set.cc b/libstdc++-v3/testsuite/performance/23_containers/insert_from_sorted/set.cc
index 863c7a6dc7c..72b1921e697 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/insert_from_sorted/set.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/insert_from_sorted/set.cc
@@ -76,13 +76,10 @@ main()
#define thread_type true
#endif
- using __gnu_test::associative_containers;
typedef __gnu_test::sets<int, thread_type>::type container_types;
-
typedef test_sequence<thread_type> test_type;
test_type test("insert_from_sorted");
- __gnu_cxx::typelist::apply<test_type, container_types> applier;
- applier(test);
+ __gnu_cxx::typelist::apply(test, container_types());
return 0;
}
diff --git a/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc b/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc
index 3ccfca92e69..841cdf0477e 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc
@@ -250,8 +250,7 @@ main()
typedef test_sequence<thread_type> test_type;
test_type test("producer_consumer_associative");
- __gnu_cxx::typelist::apply<test_type, container_types> applier;
- applier(test);
+ __gnu_cxx::typelist::apply(test, container_types());
return 0;
}
diff --git a/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc b/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc
index 4adccb94654..1590c974b47 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc
@@ -249,8 +249,7 @@ main()
typedef test_sequence<thread_type> test_type;
test_type test("producer_consumer_sequence");
- __gnu_cxx::typelist::apply<test_type, container_types> applier;
- applier(test);
+ __gnu_cxx::typelist::apply(test, container_types());
return 0;
}
diff --git a/libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc b/libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc
index ed48eb9412f..14b42b4c009 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc
+++ b/libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc
@@ -71,13 +71,10 @@ main()
#define thread_type true
#endif
- using __gnu_test::sequence_containers;
typedef __gnu_test::lists<int, thread_type>::type container_types;
-
typedef test_sequence<thread_type> test_type;
test_type test("sort_search");
- __gnu_cxx::typelist::apply<test_type, container_types> applier;
- applier(test);
+ __gnu_cxx::typelist::apply(test, container_types());
return 0;
}
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc
index 075c4956758..48d0d8644e7 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc
@@ -44,13 +44,12 @@
* Contains test for erasing random integers.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <rng/twister_rand_gen.hpp>
#include <common_type/assoc/common_type.hpp>
#include <performance/assoc/mem_usage/erase_test.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <performance/mem/mem_track_allocator.hpp>
#include <iostream>
#include <vector>
@@ -94,7 +93,7 @@ main(int argc, char* a_p_argv[])
tl_t;
tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
@@ -104,7 +103,7 @@ main(int argc, char* a_p_argv[])
std::less<int>, alloc_t>
native_t;
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
}
catch (...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc
index a5e9f5fa785..7f27da93fa3 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc
@@ -44,14 +44,13 @@
* Contains test for finding random integers.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <native_type/assoc/native_hash_set.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <rng/twister_rand_gen.hpp>
#include <common_type/assoc/common_type.hpp>
#include <performance/assoc/timing/find_test.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <iostream>
#include <vector>
@@ -87,13 +86,13 @@ main(int argc, char* a_p_argv[])
test_t tst(b, b, vn, vs, vm, vn, vs, vm);
{
typedef native_hash_map< int, char> native_t;
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
{
typedef hash_common_types<int, char>::performance_tl tl_t;
tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
}
catch (...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp
index a57254a8522..bd60c0fcc23 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp
@@ -44,7 +44,7 @@
* Contains test for inserting text words.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <io/text_populate.hpp>
#include <performance/io/xml_formatter.hpp>
#include <native_type/assoc/native_hash_multimap.hpp>
@@ -55,7 +55,6 @@
#include <performance/assoc/timing/multimap_find_test.hpp>
#include <performance/assoc/multimap_common_type.hpp>
#include <hash_fn/string_hash_fn.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <iostream>
#include <vector>
@@ -101,21 +100,21 @@ main(int argc, char* a_p_argv[])
typedef multimap_find_test<vec_t::const_iterator, false> test_type;
test_type tst(b, prm* ratio_n, prm* ratio_s, prm* ratio_m);
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef native_hash_multimap<std::string, int, 8, string_hash_fn> native_t;
typedef multimap_find_test<vec_t::const_iterator, true> test_type;
test_type tst(b, prm* ratio_n, prm* ratio_s, prm* ratio_m);
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
{
typedef native_multimap<std::string, int> native_t;
typedef multimap_find_test<vec_t::const_iterator, true> test_type;
test_type tst(b, prm* ratio_n, prm* ratio_s, prm* ratio_m);
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
}
catch (...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
index 896d766753f..e0b8afd609d 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
@@ -44,7 +44,7 @@
* Contains test for inserting text words.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <io/text_populate.hpp>
#include <performance/io/xml_formatter.hpp>
#include <native_type/assoc/native_hash_multimap.hpp>
@@ -54,7 +54,6 @@
#include <common_type/assoc/common_type.hpp>
#include <performance/assoc/mem_usage/multimap_insert_test.hpp>
#include <performance/assoc/multimap_common_type.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <performance/mem/mem_track_allocator.hpp>
#include <hash_fn/string_hash_fn.hpp>
#include <iostream>
@@ -102,7 +101,7 @@ main(int argc, char* a_p_argv[])
tl_t tl;
typedef multimap_insert_test<vec_t::const_iterator, false> test_type;
test_type tst(b, prm* ratio_n, prm* ratio_s, prm* ratio_m);
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
@@ -110,14 +109,14 @@ main(int argc, char* a_p_argv[])
tl_t tl;
typedef multimap_insert_test<vec_t::const_iterator, false> test_type;
test_type tst(b, prm* ratio_n, prm* ratio_s, prm* ratio_m);
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
typedef multimap_insert_test<vec_t::const_iterator, true> test_type;
test_type tst(b, prm* ratio_n, prm* ratio_s, prm* ratio_m);
{
typedef native_multimap<string_t, int, std::less<string_t>, alloc_t> native_t;
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
{
@@ -131,7 +130,7 @@ main(int argc, char* a_p_argv[])
alloc_t>
native_t;
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
}
catch (...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_timing.hpp b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_timing.hpp
index 1c757d5dae2..694a5f2dbcf 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_timing.hpp
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_timing.hpp
@@ -44,7 +44,7 @@
* Contains test for inserting text words.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <io/text_populate.hpp>
#include <performance/io/xml_formatter.hpp>
#include <native_type/assoc/native_hash_multimap.hpp>
@@ -54,7 +54,6 @@
#include <common_type/assoc/common_type.hpp>
#include <performance/assoc/timing/multimap_insert_test.hpp>
#include <performance/assoc/multimap_common_type.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <hash_fn/string_hash_fn.hpp>
#include <iostream>
#include <vector>
@@ -99,21 +98,21 @@ main(int argc, char* a_p_argv[])
mmap_tl_tl tl;
typedef multimap_insert_test<vec_t::const_iterator, false> test_type;
test_type tst(b, prm* ratio_n, prm* ratio_s, prm* ratio_m);
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef native_hash_multimap<std::string, int, 8, string_hash_fn> native_t;
typedef multimap_insert_test<vec_t::const_iterator, true> test_type;
test_type tst(b, prm* ratio_n, prm* ratio_s, prm* ratio_m);
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
{
typedef native_multimap<std::string, int> native_t;
typedef multimap_insert_test<vec_t::const_iterator, true> test_type;
test_type tst(b, prm* ratio_n, prm* ratio_s, prm* ratio_m);
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
}
catch (...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc
index 64f19b12799..4f0f1a4aa24 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc
@@ -44,12 +44,11 @@
* Contains test for finding random_int.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <common_type/priority_queue/common_type.hpp>
#include <performance/priority_queue/timing/push_pop_test.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <native_type/priority_queue/native_priority_queue.hpp>
#include <rng/twister_rand_gen.hpp>
#include <iostream>
@@ -84,17 +83,17 @@ main(int argc, char* a_p_argv[])
{
typedef pq_common_types<int>::performance_tl pq_tl_t;
pq_tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef native_priority_queue<int, true> native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
{
typedef native_priority_queue<int, false> native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
}
catch(...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_timing.cc
index 7706175355b..098378da1de 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_random_int_push_timing.cc
@@ -44,12 +44,11 @@
* Contains test for finding random_int.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <common_type/priority_queue/common_type.hpp>
#include <performance/priority_queue/timing/push_test.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <native_type/priority_queue/native_priority_queue.hpp>
#include <rng/twister_rand_gen.hpp>
#include <iostream>
@@ -82,17 +81,17 @@ main(int argc, char* a_p_argv[])
{
typedef pq_common_types<int>::performance_tl pq_tl_t;
pq_tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef native_priority_queue<int, true> native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
{
typedef native_priority_queue<int, false> native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
}
catch (...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc
index c13f060c3c9..c5c24f7ef5c 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc
@@ -44,7 +44,7 @@
* Contains test for finding text.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <common_type/priority_queue/common_type.hpp>
@@ -101,17 +101,17 @@ main(int argc, char* a_p_argv[])
{
typedef pq_common_types<std::string>::performance_tl pq_tl_t;
pq_tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef native_priority_queue<std::string, true> native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
{
typedef native_priority_queue<std::string, false> native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
}
catch(...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
index 58e9cf546f9..ab0da1f41f5 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
@@ -44,13 +44,12 @@
* Contains test for finding text.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <common_type/priority_queue/common_type.hpp>
#include <performance/priority_queue/timing/modify_test.hpp>
#include <io/text_populate.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <native_type/priority_queue/native_priority_queue.hpp>
#include <iostream>
#include <vector>
@@ -88,17 +87,17 @@ main(int argc, char* a_p_argv[])
{
typedef pq_common_types<std::string>::performance_tl pq_tl_t;
pq_tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef native_priority_queue<std::string, true> native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
{
typedef native_priority_queue<std::string, false> native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
}
catch (...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc
index 12820e90690..49ba5b501d3 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc
@@ -44,13 +44,12 @@
* Contains test for finding text.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <common_type/priority_queue/common_type.hpp>
#include <performance/priority_queue/mem_usage/pop_test.hpp>
#include <io/text_populate.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <native_type/priority_queue/native_priority_queue.hpp>
#include <performance/mem/mem_track_allocator.hpp>
#include <iostream>
@@ -84,17 +83,17 @@ main(int argc, char* a_p_argv[])
{
typedef pq_common_types<string_t, std::less<string_t>, mem_track_allocator<char> >::performance_tl pq_tl_t;
pq_tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef native_priority_queue<string_t, true, std::less<string_t>, mem_track_allocator<string_t> > native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
{
typedef native_priority_queue<string_t, false, std::less<string_t>, mem_track_allocator<string_t> > native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
}
catch (...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc
index 13f5c00000b..e7e06bc32d0 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc
@@ -44,13 +44,12 @@
* Contains test for finding text.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <common_type/priority_queue/common_type.hpp>
#include <performance/priority_queue/timing/push_pop_test.hpp>
#include <io/text_populate.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <native_type/priority_queue/native_priority_queue.hpp>
#include <iostream>
#include <vector>
@@ -81,17 +80,17 @@ main(int argc, char* a_p_argv[])
{
typedef pq_common_types<std::string>::performance_tl pq_tl_t;
pq_tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef native_priority_queue<std::string, true> native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
{
typedef native_priority_queue<std::string, false> native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
}
catch(...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc
index f1f76e899c7..e723892f0ea 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc
@@ -44,13 +44,12 @@
* Contains test for finding text.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <common_type/priority_queue/common_type.hpp>
#include <performance/priority_queue/timing/push_test.hpp>
#include <io/text_populate.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <native_type/priority_queue/native_priority_queue.hpp>
#include <iostream>
#include <vector>
@@ -81,17 +80,17 @@ main(int argc, char* a_p_argv[])
{
typedef pq_common_types<std::string>::performance_tl pq_tl_t;
pq_tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef native_priority_queue<std::string, true> native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
{
typedef native_priority_queue<std::string, false> native_pq_t;
- tst(pb_ds::detail::type_to_type<native_pq_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_pq_t>());
}
}
catch(...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_find_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_find_timing.cc
index ce7c56952da..7ac42c8e02b 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_find_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_find_timing.cc
@@ -44,7 +44,7 @@
* Contains test for finding random integers.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <native_type/assoc/native_hash_map.hpp>
#include <native_type/assoc/native_map.hpp>
@@ -52,7 +52,6 @@
#include <rng/twister_rand_gen.hpp>
#include <common_type/assoc/common_type.hpp>
#include <performance/assoc/timing/find_test.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <iostream>
#include <vector>
@@ -83,24 +82,24 @@ main(int argc, char* a_p_argv[])
test_t tst(b, b, vn, vs, vm, vn, vs, vm);
{
typedef native_hash_map< int, char> native_t;
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
{
typedef native_map< int, char> native_t;
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
{
typedef hash_common_types<int, char>::performance_tl tl_t;
tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef tree_common_types<int, char>::performance_tl tl_t;
tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
}
catch (...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc
index 5d796c26be2..8fadbe1d192 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc
@@ -44,7 +44,7 @@
* Contains test for subscripting random integers.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <native_type/assoc/native_hash_map.hpp>
#include <native_type/assoc/native_map.hpp>
@@ -52,7 +52,6 @@
#include <rng/twister_rand_gen.hpp>
#include <common_type/assoc/common_type.hpp>
#include <performance/assoc/timing/subscript_find_test.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <iostream>
#include <vector>
@@ -84,23 +83,23 @@ main(int argc, char* a_p_argv[])
{
typedef hash_common_types<int, size_t>::performance_tl tl_t;
tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef tree_common_types<int, size_t>::performance_tl tl_t;
tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef native_hash_map<int, size_t> native_t;
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
{
typedef native_map< int, size_t> native_t;
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
}
catch (...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc
index 60e16dd1bcc..fc83735f82c 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc
@@ -44,7 +44,7 @@
* Contains test for subscripting random integers.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <native_type/assoc/native_hash_map.hpp>
#include <native_type/assoc/native_map.hpp>
@@ -52,7 +52,6 @@
#include <rng/twister_rand_gen.hpp>
#include <common_type/assoc/common_type.hpp>
#include <performance/assoc/timing/subscript_insert_test.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <iostream>
#include <vector>
@@ -84,23 +83,23 @@ main(int argc, char* a_p_argv[])
{
typedef hash_common_types<int, size_t>::performance_tl tl_t;
tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef tree_common_types<int, size_t>::performance_tl tl_t;
tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef native_hash_map< int, size_t> native_t;
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
{
typedef native_map< int, size_t> native_t;
- tst(pb_ds::detail::type_to_type<native_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_t>());
}
}
catch(...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/text_find_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/text_find_timing.cc
index a1cc598a78d..c0a2e96ddd4 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/text_find_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/text_find_timing.cc
@@ -44,13 +44,12 @@
* Contains test for finding text.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <common_type/assoc/common_type.hpp>
#include <performance/assoc/timing/find_test.hpp>
#include <io/text_populate.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <hash_fn/string_hash_fn.hpp>
#include <native_type/assoc/native_hash_map.hpp>
#include <native_type/assoc/native_map.hpp>
@@ -86,22 +85,20 @@ main(int argc, char* a_p_argv[])
typedef hash_common_types<std::string, char, string_hash_fn>::performance_tl hash_tl_t;
- typedef pb_ds::detail::typelist_append<pat_trie_tl_t, pb_ds::detail::typelist_append<hash_tl_t, tree_tl_t>::type>::type tl_t;
+ typedef __gnu_cxx::typelist::append<pat_trie_tl_t, __gnu_cxx::typelist::append<hash_tl_t, tree_tl_t>::type>::type tl_t;
tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef native_map<std::string, char> native_map_t;
- tst(pb_ds::detail::type_to_type<native_map_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_map_t>());
+#ifdef PB_DS_USE_TR1
typedef native_hash_map<std::string, char, 8, string_hash_fn> native_hash_map_t;
- tst(pb_ds::detail::type_to_type<native_hash_map_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_hash_map_t>());
- // XXX Unfortunately, this crashes
-#if 0
-#ifdef PB_DS_USE_TR1
typedef
native_hash_map<
std::string,
@@ -117,9 +114,8 @@ main(int argc, char* a_p_argv[])
true>
sth_native_hash_map_t;
- tst(pb_ds::detail::type_to_type<sth_native_hash_map_t>());
-#endif // #ifdef PB_DS_USE_TR1
-#endif // #if 0
+ tst(__gnu_cxx::typelist::detail::type_to_type<sth_native_hash_map_t>());
+#endif
}
}
catch(...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc
index 2af32f394d6..3a67b63bff5 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc
@@ -46,12 +46,11 @@
#include <iostream>
#include <vector>
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <rng/twister_rand_gen.hpp>
#include <common_type/assoc/common_type.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <performance/assoc/timing/tree_order_statistics_test.hpp>
void
@@ -74,14 +73,14 @@ main(int argc, char* a_p_argv[])
test_t tst(vn, vs, vm);
typedef tree_common_types<int, pb_ds::null_mapped_type, std::less<int>, pb_ds::tree_order_statistics_node_update>::performance_tl tl_t;
tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef tree_order_statistics_test<false> test_t;
test_t tst(vn, vs, vm);
typedef native_set<int> native_set_t;
- tst(pb_ds::detail::type_to_type<native_set_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_set_t>());
}
}
catch(...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_split_join_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_split_join_timing.cc
index 6de06c53335..675309c63ac 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_split_join_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_split_join_timing.cc
@@ -44,13 +44,12 @@
* Contains test for joining trees.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <rng/twister_rand_gen.hpp>
#include <common_type/assoc/common_type.hpp>
#include <performance/assoc/timing/tree_split_join_test.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <iostream>
#include <vector>
@@ -75,14 +74,14 @@ main(int argc, char* a_p_argv[])
typedef tree_common_types<int, pb_ds::null_mapped_type>::performance_tl tl_t;
tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef tree_split_join_test<false> test_t;
test_t tst(vn, vs, vm);
typedef native_set<int> native_set_t;
- tst(pb_ds::detail::type_to_type<native_set_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_set_t>());
}
}
catch(...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc
index f61fe1c6d36..9436977fc98 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc
@@ -44,13 +44,12 @@
* Contains test for finding text.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <common_type/assoc/common_type.hpp>
#include <performance/assoc/timing/insert_test.hpp>
#include <io/text_populate.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <hash_fn/string_hash_fn.hpp>
#include <native_type/assoc/native_hash_map.hpp>
#include <native_type/assoc/native_map.hpp>
@@ -83,14 +82,14 @@ main(int argc, char* a_p_argv[])
{
typedef trie_common_types<std::string, char>::performance_tl pat_trie_tl_t;
typedef tree_common_types<std::string, char>::performance_tl tree_tl_t;
- typedef pb_ds::detail::typelist_append<pat_trie_tl_t, tree_tl_t>::type tl_t;
+ typedef __gnu_cxx::typelist::append<pat_trie_tl_t, tree_tl_t>::type tl_t;
tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
{
typedef native_map<std::string, char> native_map_t;
- tst(pb_ds::detail::type_to_type<native_map_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_map_t>());
}
}
catch (...)
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc
index 4dd52445d62..3c1bc0c9037 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc
@@ -44,13 +44,12 @@
* Contains test for finding text with locality of reference.
*/
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
#include <performance/io/xml_formatter.hpp>
#include <io/verified_cmd_line_input.hpp>
#include <common_type/assoc/common_type.hpp>
#include <performance/assoc/timing/find_test.hpp>
#include <io/text_populate.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
#include <native_type/assoc/native_map.hpp>
#include <iostream>
#include <vector>
@@ -81,13 +80,13 @@ main(int argc, char* a_p_argv[])
test_t tst(b, b, vn, vs, vm, vn, vs, vm);
{
typedef native_map<std::string, char> native_set_t;
- tst(pb_ds::detail::type_to_type<native_set_t>());
+ tst(__gnu_cxx::typelist::detail::type_to_type<native_set_t>());
}
{
typedef tree_common_types<std::string, char>::performance_tl tree_tl_t;
tree_tl_t tl;
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
}
catch(...)
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/common_type.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/common_type.hpp
index df07eb38644..60ab0d802c9 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/common_type.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/common_type.hpp
@@ -65,7 +65,7 @@ namespace pb_ds
class Eq_Fn =
std::equal_to<Key>,
class Allocator =
- std::allocator< std::pair<const Key, Data> > >
+ std::allocator<std::pair<const Key, Data> > >
struct hash_common_types
{
private:
@@ -109,12 +109,12 @@ namespace pb_ds
true>
access_half_max_col_check_check_resize_trigger_policy;
- typedef pb_ds::test::linear_probe_fn_t_< Key, Allocator> lin_p_t;
+ typedef pb_ds::test::linear_probe_fn_t_<Key, Allocator> lin_p_t;
- typedef pb_ds::test::quadratic_probe_fn_t_< Key, Allocator> quad_p_t;
+ typedef pb_ds::test::quadratic_probe_fn_t_<Key, Allocator> quad_p_t;
typedef
- typename pb_ds::detail::typelist4<
+ typename __gnu_cxx::typelist::create4<
pb_ds::detail::false_type,
pb_ds::test::direct_mask_range_hashing_t_<
Allocator>,
@@ -124,7 +124,7 @@ namespace pb_ds
performance_cc_policy0;
typedef
- typename pb_ds::detail::typelist4<
+ typename __gnu_cxx::typelist::create4<
pb_ds::detail::false_type,
pb_ds::test::direct_mod_range_hashing_t_<
Allocator>,
@@ -133,7 +133,7 @@ namespace pb_ds
performance_cc_policy1;
typedef
- typename pb_ds::detail::typelist4<
+ typename __gnu_cxx::typelist::create4<
pb_ds::detail::false_type,
pb_ds::test::direct_mask_range_hashing_t_<
Allocator>,
@@ -143,7 +143,7 @@ namespace pb_ds
performance_cc_policy2;
typedef
- typename pb_ds::detail::typelist4<
+ typename __gnu_cxx::typelist::create4<
pb_ds::detail::false_type,
pb_ds::test::direct_mod_range_hashing_t_<
Allocator>,
@@ -152,7 +152,7 @@ namespace pb_ds
performance_cc_policy3;
typedef
- typename pb_ds::detail::typelist4<
+ typename __gnu_cxx::typelist::create4<
pb_ds::detail::true_type,
pb_ds::test::direct_mask_range_hashing_t_<
Allocator>,
@@ -162,7 +162,7 @@ namespace pb_ds
performance_cc_policy4;
typedef
- typename pb_ds::detail::typelist4<
+ typename __gnu_cxx::typelist::create4<
pb_ds::detail::false_type,
pb_ds::test::direct_mask_range_hashing_t_<
Allocator>,
@@ -172,7 +172,7 @@ namespace pb_ds
performance_cc_policy5;
typedef
- typename pb_ds::detail::typelist4<
+ typename __gnu_cxx::typelist::create4<
pb_ds::detail::false_type,
pb_ds::test::direct_mask_range_hashing_t_<
Allocator>,
@@ -182,7 +182,7 @@ namespace pb_ds
regression_cc_policy0;
typedef
- typename pb_ds::detail::typelist4<
+ typename __gnu_cxx::typelist::create4<
pb_ds::detail::false_type,
pb_ds::test::direct_mask_range_hashing_t_<
Allocator>,
@@ -192,7 +192,7 @@ namespace pb_ds
regression_cc_policy1;
typedef
- typename pb_ds::detail::typelist4<
+ typename __gnu_cxx::typelist::create4<
pb_ds::detail::true_type,
pb_ds::test::direct_mod_range_hashing_t_<
Allocator>,
@@ -201,7 +201,7 @@ namespace pb_ds
regression_cc_policy2;
typedef
- typename pb_ds::detail::typelist5<
+ typename __gnu_cxx::typelist::create5<
pb_ds::detail::false_type,
lin_p_t,
pb_ds::test::direct_mask_range_hashing_t_<
@@ -212,7 +212,7 @@ namespace pb_ds
performance_gp_policy0;
typedef
- typename pb_ds::detail::typelist5<
+ typename __gnu_cxx::typelist::create5<
pb_ds::detail::false_type,
quad_p_t,
pb_ds::test::direct_mod_range_hashing_t_<
@@ -222,7 +222,7 @@ namespace pb_ds
performance_gp_policy1;
typedef
- typename pb_ds::detail::typelist5<
+ typename __gnu_cxx::typelist::create5<
pb_ds::detail::false_type,
quad_p_t,
pb_ds::test::direct_mod_range_hashing_t_<
@@ -232,7 +232,7 @@ namespace pb_ds
regression_gp_policy0;
typedef
- typename pb_ds::detail::typelist5<
+ typename __gnu_cxx::typelist::create5<
pb_ds::detail::true_type,
lin_p_t,
pb_ds::test::direct_mask_range_hashing_t_<
@@ -243,7 +243,7 @@ namespace pb_ds
regression_gp_policy1;
typedef
- typename pb_ds::detail::typelist6<
+ typename __gnu_cxx::typelist::create6<
performance_cc_policy0,
performance_cc_policy1,
performance_cc_policy2,
@@ -253,20 +253,20 @@ namespace pb_ds
performance_cc_range_hashing_policies;
typedef
- typename pb_ds::detail::typelist3<
+ typename __gnu_cxx::typelist::create3<
regression_cc_policy0,
regression_cc_policy1,
regression_cc_policy2>::type
regression_cc_range_hashing_policies;
typedef
- typename pb_ds::detail::typelist2<
+ typename __gnu_cxx::typelist::create2<
performance_gp_policy0,
performance_gp_policy1>::type
performance_gp_range_hashing_policies;
typedef
- typename pb_ds::detail::typelist2<
+ typename __gnu_cxx::typelist::create2<
regression_gp_policy0,
regression_gp_policy1>::type
regression_gp_range_hashing_policies;
@@ -276,7 +276,7 @@ namespace pb_ds
{
private:
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 0>::type
store_hash_indicator;
@@ -286,17 +286,17 @@ namespace pb_ds
};
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 1>::type
comb_hash_fn;
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 2>::type
trigger_policy;
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 3>::type
size_policy;
@@ -322,7 +322,7 @@ namespace pb_ds
{
private:
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 0>::type
store_hash_indicator;
@@ -332,17 +332,17 @@ namespace pb_ds
};
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 1>::type
comb_hash_fn;
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 2>::type
trigger_policy;
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 3>::type
size_policy;
@@ -368,7 +368,7 @@ namespace pb_ds
{
private:
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 0>::type
store_hash_indicator;
@@ -378,22 +378,22 @@ namespace pb_ds
};
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 1>::type
probe_fn;
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 2>::type
comb_probe_fn;
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 3>::type
trigger_policy;
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 4>::type
size_policy;
@@ -420,7 +420,7 @@ namespace pb_ds
{
private:
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 0>::type
store_hash_indicator;
@@ -430,22 +430,22 @@ namespace pb_ds
};
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 1>::type
probe_fn;
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 2>::type
comb_probe_fn;
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 3>::type
trigger_policy;
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 4>::type
size_policy;
@@ -468,56 +468,56 @@ namespace pb_ds
};
typedef
- typename pb_ds::detail::typelist_transform<
+ typename __gnu_cxx::typelist::transform<
performance_cc_range_hashing_policies,
no_access_generic_cc_hash_table_t>::type
performance_cc_types;
typedef
- typename pb_ds::detail::typelist_transform<
+ typename __gnu_cxx::typelist::transform<
regression_cc_range_hashing_policies,
access_generic_cc_hash_table_t>::type
regression_cc_types;
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
performance_cc_types,
0>::type
performance_min_cc_type;
typedef
- typename pb_ds::detail::typelist_transform<
+ typename __gnu_cxx::typelist::transform<
performance_gp_range_hashing_policies,
no_access_generic_gp_hash_table_t>::type
performance_gp_types;
typedef
- typename pb_ds::detail::typelist_transform<
+ typename __gnu_cxx::typelist::transform<
regression_gp_range_hashing_policies,
access_generic_gp_hash_table_t>::type
regression_gp_types;
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
performance_gp_types,
0>::type
performance_min_gp_type;
public:
typedef
- typename pb_ds::detail::typelist_append<
+ typename __gnu_cxx::typelist::append<
performance_cc_types,
performance_gp_types>::type
performance_tl;
typedef
- typename pb_ds::detail::typelist_append<
+ typename __gnu_cxx::typelist::append<
regression_gp_types,
regression_cc_types>::type
regression_tl;
typedef
- typename pb_ds::detail::typelist1<
+ typename __gnu_cxx::typelist::create1<
performance_min_cc_type>::type
performance_min_tl;
};
@@ -636,7 +636,7 @@ namespace pb_ds
};
typedef
- typename pb_ds::detail::typelist_transform<
+ typename __gnu_cxx::typelist::transform<
Comb_Hash_Fn_TL,
generic_cc_hash_table_t>::type
performance_cc_types;
@@ -660,14 +660,14 @@ namespace pb_ds
};
typedef
- typename pb_ds::detail::typelist_transform<
+ typename __gnu_cxx::typelist::transform<
Comb_Probe_Fn_TL,
no_access_generic_gp_hash_table_t>::type
performance_gp_types;
public:
typedef
- typename pb_ds::detail::typelist_append<
+ typename __gnu_cxx::typelist::append<
performance_cc_types,
performance_gp_types>::type
performance_tl;
@@ -683,14 +683,14 @@ namespace pb_ds
typedef pb_ds::test::move_to_front_lu_policy_t_ mtf_u;
- typedef pb_ds::test::counter_lu_policy_t_< Allocator, 5> cnt_5_u;
+ typedef pb_ds::test::counter_lu_policy_t_<Allocator, 5> cnt_5_u;
- typedef typename pb_ds::detail::typelist1< mtf_u>::type lu_policy0;
+ typedef typename __gnu_cxx::typelist::create1<mtf_u>::type lu_policy0;
- typedef typename pb_ds::detail::typelist1< cnt_5_u>::type lu_policy1;
+ typedef typename __gnu_cxx::typelist::create1<cnt_5_u>::type lu_policy1;
typedef
- typename pb_ds::detail::typelist2<
+ typename __gnu_cxx::typelist::create2<
lu_policy0,
lu_policy1>::type
lu_policies;
@@ -700,7 +700,7 @@ namespace pb_ds
{
private:
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
Policy_Tl, 0>::type
update_policy_t;
@@ -716,26 +716,22 @@ namespace pb_ds
};
typedef
- typename pb_ds::detail::typelist_transform<
+ typename __gnu_cxx::typelist::transform<
lu_policies,
generic_list_update_t>::type
lu_types;
typedef
- typename pb_ds::detail::typelist_at_index<
+ typename __gnu_cxx::typelist::at_index<
lu_types,
0>::type
min_lu_type;
public:
typedef lu_types performance_tl;
-
typedef lu_types regression_tl;
- typedef
- typename pb_ds::detail::typelist1<
- min_lu_type>::type
- performance_min_tl;
+ typedef typename __gnu_cxx::typelist::create1<min_lu_type>::type performance_min_tl;
};
template<typename Key, typename Data, class Cmp_Fn = std::less<Key>,
@@ -743,10 +739,8 @@ namespace pb_ds
class Node_Iterator,
class Cmp_Fn_,
class Allocator_>
- class Node_Update =
- pb_ds::null_tree_node_update,
- class Allocator =
- std::allocator<std::pair<const Key, Data> > >
+ class Node_Update = pb_ds::null_tree_node_update,
+ class Allocator = std::allocator<std::pair<const Key, Data> > >
struct tree_common_types
{
private:
@@ -782,21 +776,21 @@ namespace pb_ds
public:
typedef
- typename pb_ds::detail::typelist3<
+ typename __gnu_cxx::typelist::create3<
splay_tree_assoc_container_t,
rb_tree_assoc_container_t,
ov_tree_assoc_container_t>::type
performance_tl;
typedef
- typename pb_ds::detail::typelist3<
+ typename __gnu_cxx::typelist::create3<
ov_tree_assoc_container_t,
splay_tree_assoc_container_t,
rb_tree_assoc_container_t>::type
regression_tl;
typedef
- typename pb_ds::detail::typelist1<
+ typename __gnu_cxx::typelist::create1<
rb_tree_assoc_container_t>::type
performance_min_tl;
};
@@ -804,40 +798,23 @@ namespace pb_ds
template<typename Key,
typename Data,
class E_Access_Traits =
- typename pb_ds::detail::default_trie_e_access_traits<
- Key>::type,
- class Tag =
- pb_ds::pat_trie_tag,
+ typename pb_ds::detail::default_trie_e_access_traits<Key>::type,
+ class Tag = pb_ds::pat_trie_tag,
template<typename Const_Node_Iterator,
typename Node_Iterator,
class E_Access_Traits_,
typename Allocator_>
- class Node_Update =
- pb_ds::null_trie_node_update,
- class Allocator =
- std::allocator<char> >
+ class Node_Update = pb_ds::null_trie_node_update,
+ class Allocator = std::allocator<char> >
class trie_common_types
{
private:
- typedef
- pb_ds::trie<
- Key,
- Data,
- E_Access_Traits,
- Tag,
- Node_Update,
- Allocator>
- type;
+ typedef pb_ds::trie<Key, Data, E_Access_Traits, Tag, Node_Update, Allocator> type;
public:
- typedef typename pb_ds::detail::typelist1< type>::type performance_tl;
-
- typedef typename pb_ds::detail::typelist1< type>::type regression_tl;
-
- typedef
- typename pb_ds::detail::typelist1<
- type>::type
- performance_min_tl;
+ typedef typename __gnu_cxx::typelist::create1<type>::type performance_tl;
+ typedef typename __gnu_cxx::typelist::create1<type>::type regression_tl;
+ typedef typename __gnu_cxx::typelist::create1<type>::type performance_min_tl;
};
} // namespace test
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp
index 983f8a11c57..f28cb83176b 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp
@@ -81,74 +81,74 @@ namespace pb_ds
private:
template<typename D_Cntnr>
static std::string
- name(pb_ds::detail::type_to_type<D_Cntnr>)
+ name(__gnu_cxx::typelist::detail::type_to_type<D_Cntnr>)
{
return ("mmap_" + pb_ds_string_form<D_Cntnr>::name());
}
template<typename D_Cntnr>
static std::string
- desc(pb_ds::detail::type_to_type<D_Cntnr>)
+ desc(__gnu_cxx::typelist::detail::type_to_type<D_Cntnr>)
{
return (pb_ds_string_form<D_Cntnr>::desc());
}
static std::string
- name(pb_ds::detail::type_to_type<size_t>)
+ name(__gnu_cxx::typelist::detail::type_to_type<size_t>)
{
return ("map");
}
static std::string
- desc(pb_ds::detail::type_to_type<size_t>)
+ desc(__gnu_cxx::typelist::detail::type_to_type<size_t>)
{
return ("");
}
static std::string
- name(pb_ds::detail::type_to_type<basic_type>)
+ name(__gnu_cxx::typelist::detail::type_to_type<basic_type>)
{
return ("map");
}
static std::string
- desc(pb_ds::detail::type_to_type<basic_type>)
+ desc(__gnu_cxx::typelist::detail::type_to_type<basic_type>)
{
return ("");
}
static std::string
- name(pb_ds::detail::type_to_type<int>)
+ name(__gnu_cxx::typelist::detail::type_to_type<int>)
{
return ("map");
}
static std::string
- desc(pb_ds::detail::type_to_type<int>)
+ desc(__gnu_cxx::typelist::detail::type_to_type<int>)
{
return ("");
}
static std::string
- name(pb_ds::detail::type_to_type<char>)
+ name(__gnu_cxx::typelist::detail::type_to_type<char>)
{
return ("map");
}
static std::string
- desc(pb_ds::detail::type_to_type<char>)
+ desc(__gnu_cxx::typelist::detail::type_to_type<char>)
{
return ("");
}
static std::string
- name(pb_ds::detail::type_to_type<pb_ds::null_mapped_type>)
+ name(__gnu_cxx::typelist::detail::type_to_type<pb_ds::null_mapped_type>)
{
return ("set");
}
static std::string
- desc(pb_ds::detail::type_to_type<pb_ds::null_mapped_type>)
+ desc(__gnu_cxx::typelist::detail::type_to_type<pb_ds::null_mapped_type>)
{
return ("");
}
@@ -157,13 +157,13 @@ namespace pb_ds
static std::string
name()
{
- return (name(pb_ds::detail::type_to_type<mapped_type>()));
+ return (name(__gnu_cxx::typelist::detail::type_to_type<mapped_type>()));
}
static std::string
desc()
{
- return (desc(pb_ds::detail::type_to_type<mapped_type>()));
+ return (desc(__gnu_cxx::typelist::detail::type_to_type<mapped_type>()));
}
};
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp
index 288aba24a47..3df687c4354 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp
@@ -47,8 +47,7 @@
#ifndef PB_DS_TEMPLATE_POLICY_HPP
#define PB_DS_TEMPLATE_POLICY_HPP
-#include <ext/pb_ds/detail/typelist.hpp>
-
+#include <ext/typelist.h>
#include <ext/pb_ds/hash_policy.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/list_update_policy.hpp>
diff --git a/libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp b/libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp
index 437fe6e09e5..a9975578463 100644
--- a/libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp
@@ -49,7 +49,7 @@
#include <ext/pb_ds/detail/type_utils.hpp>
#include <ext/pb_ds/priority_queue.hpp>
-#include <ext/pb_ds/detail/typelist.hpp>
+#include <ext/typelist.h>
namespace pb_ds
{
@@ -72,7 +72,7 @@ namespace pb_ds
typedef pb_ds::priority_queue<Value_Type, Cmp_Fn, pb_ds::thin_heap_tag, Allocator> thin_heap_t;
- typedef typename pb_ds::detail::typelist5<thin_heap_t, pairing_heap_t, binomial_heap_t, rc_binomial_heap_t, binary_heap_t>::type all_tl;
+ typedef typename __gnu_cxx::typelist::create5<thin_heap_t, pairing_heap_t, binomial_heap_t, rc_binomial_heap_t, binary_heap_t>::type all_tl;
public:
typedef all_tl performance_tl;
diff --git a/libstdc++-v3/testsuite/util/native_type/assoc/native_hash_map.hpp b/libstdc++-v3/testsuite/util/native_type/assoc/native_hash_map.hpp
index 528934e92c6..889edf24e1b 100644
--- a/libstdc++-v3/testsuite/util/native_type/assoc/native_hash_map.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/assoc/native_hash_map.hpp
@@ -47,10 +47,11 @@
#ifndef PB_DS_NATIVE_HASH_MAP_HPP
#define PB_DS_NATIVE_HASH_MAP_HPP
+#include <string>
+#include <ext/pb_ds/detail/type_utils.hpp>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <native_type/assoc/native_hash_tag.hpp>
#include <io/xml.hpp>
-#include <string>
// Default to using tr1.
#define PB_DS_USE_TR1 1
diff --git a/libstdc++-v3/testsuite/util/native_type/assoc/native_hash_multimap.hpp b/libstdc++-v3/testsuite/util/native_type/assoc/native_hash_multimap.hpp
index 937cc6735df..a525ef20759 100644
--- a/libstdc++-v3/testsuite/util/native_type/assoc/native_hash_multimap.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/assoc/native_hash_multimap.hpp
@@ -47,57 +47,27 @@
#ifndef PB_DS_NATIVE_HASH_MULTIMAP_HPP
#define PB_DS_NATIVE_HASH_MULTIMAP_HPP
+#include <string>
+#include <ext/hash_map>
+#include <ext/pb_ds/detail/type_utils.hpp>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <native_type/assoc/native_hash_tag.hpp>
#include <io/xml.hpp>
-#include <string>
-#include <ext/hash_map>
namespace pb_ds
{
-
namespace test
{
-
-#define PB_DS_CLASS_T_DEC \
- template< \
- typename Key, \
- typename Data, \
- size_t Init_Size, \
- class Hash_Fn, \
- class Eq_Fn, \
- class Less_Fn, \
- class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- native_hash_multimap< \
- Key, \
- Data, \
- Init_Size, \
- Hash_Fn, \
- Eq_Fn, \
- Less_Fn, \
- Allocator>
-
-#define PB_DS_BASE_C_DEC \
- __gnu_cxx::hash_multimap< \
- Key, \
- Data, \
- Hash_Fn, \
- Eq_Fn, \
- Allocator>
+#define PB_DS_BASE_C_DEC \
+ __gnu_cxx::hash_multimap<Key, Data, Hash_Fn, Eq_Fn, Allocator>
template<typename Key,
typename Data,
size_t Init_Size = 8,
- class Hash_Fn =
- typename pb_ds::detail::default_hash_fn<Key>::type,
- class Eq_Fn =
- std::equal_to<Key>,
- class Less_Fn =
- std::less<Key>,
- class Allocator =
- std::allocator<char> >
+ class Hash_Fn = typename pb_ds::detail::default_hash_fn<Key>::type,
+ class Eq_Fn = std::equal_to<Key>,
+ class Less_Fn = std::less<Key>,
+ class Allocator = std::allocator<char> >
class native_hash_multimap : public PB_DS_BASE_C_DEC
{
private:
@@ -114,119 +84,78 @@ namespace pb_ds
typedef
typename Allocator::template rebind<
- std::pair<
- Key,
- Data> >::other::const_reference
+ std::pair<Key, Data> >::other::const_reference
const_reference;
- public:
- native_hash_multimap();
+ native_hash_multimap() : base_type(Init_Size)
+ { }
+
+ template<typename It>
+ native_hash_multimap(It f, It l) : base_type(f, l)
+ { }
inline void
insert(typename base_type::const_reference r_val)
{
- typedef
- std::pair<
- typename base_type::iterator,
- typename base_type::iterator>
- eq_range_t;
-
+ typedef std::pair<iterator, iterator> eq_range_t;
eq_range_t f = base_type::equal_range(r_val.first);
- typename base_type::iterator it = f.first;
-
+ iterator it = f.first;
while (it != f.second)
{
if (it->second == r_val.second)
return;
-
++it;
}
-
base_type::insert(r_val);
}
inline iterator
find(const_reference r_val)
{
- typedef
- std::pair<
- typename base_type::iterator,
- typename base_type::iterator>
- eq_range_t;
-
+ typedef std::pair<iterator, iterator> eq_range_t;
eq_range_t f = base_type::equal_range(r_val.first);
- typename base_type::iterator it = f.first;
-
+ iterator it = f.first;
while (it != f.second)
{
if (it->second == r_val.second)
return it;
-
++it;
}
-
return base_type::end();
}
inline const_iterator
find(const_reference r_val) const
{
- typedef
- std::pair<
- typename base_type::const_iterator,
- typename base_type::const_iterator>
- eq_range_t;
-
+ typedef std::pair<const_iterator, const_iterator> eq_range_t;
eq_range_t f = base_type::equal_range(r_val.first);
- typename base_type::const_iterator it = f.first;
-
+ const_iterator it = f.first;
while (it != f.second)
{
if (it->second == r_val.second)
return it;
-
++it;
}
-
return base_type::end();
}
- template<typename It>
- native_hash_multimap(It f, It l);
-
static std::string
name()
- {
- return ("n_hash_mmap");
- }
+ { return std::string("n_hash_mmap"); }
static std::string
desc()
{
- return (make_xml_tag("type", "value", "__gnucxx_hash_multimap"));
+ return make_xml_tag("type", "value", "__gnucxx_hash_multimap");
}
};
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- native_hash_multimap() : base_type(Init_Size)
- { }
-
- PB_DS_CLASS_T_DEC
- template<typename It>
- PB_DS_CLASS_C_DEC::
- native_hash_multimap(It f, It l) : base_type(f, l)
- { }
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
#undef PB_DS_BASE_C_DEC
} // namespace test
-
} // namespace pb_ds
-#endif // #ifndef PB_DS_NATIVE_HASH_MULTIMAP_HPP
+#endif
diff --git a/libstdc++-v3/testsuite/util/native_type/assoc/native_hash_set.hpp b/libstdc++-v3/testsuite/util/native_type/assoc/native_hash_set.hpp
index e1082c907e4..7f89392629f 100644
--- a/libstdc++-v3/testsuite/util/native_type/assoc/native_hash_set.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/assoc/native_hash_set.hpp
@@ -47,10 +47,11 @@
#ifndef PB_DS_NATIVE_HASH_SET_HPP
#define PB_DS_NATIVE_HASH_SET_HPP
+#include <string>
+#include <ext/pb_ds/detail/type_utils.hpp>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <native_type/assoc/native_hash_tag.hpp>
#include <io/xml.hpp>
-#include <string>
// Default to using tr1.
#define PB_DS_USE_TR1 1
@@ -77,7 +78,7 @@ namespace pb_ds
template<typename Key,
size_t Init_Size = 8,
- typename Hash_Fn = typename pb_ds::detail::default_hash_fn<Key>::type,
+ typename Hash_Fn = typename pb_ds::detail::default_hash_fn<Key>::type,
typename Eq_Fn = std::equal_to<Key>,
typename Less_Fn = std::less<Key>,
typename Allocator = std::allocator<char>
diff --git a/libstdc++-v3/testsuite/util/native_type/assoc/native_map.hpp b/libstdc++-v3/testsuite/util/native_type/assoc/native_map.hpp
index a9d8e11b10e..d32730c230b 100644
--- a/libstdc++-v3/testsuite/util/native_type/assoc/native_map.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/assoc/native_map.hpp
@@ -48,30 +48,22 @@
#define PB_DS_NATIVE_MAP_HPP
#include <map>
+#include <string>
+#include <ext/pb_ds/detail/type_utils.hpp>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <native_type/assoc/native_tree_tag.hpp>
#include <io/xml.hpp>
-#include <string>
namespace pb_ds
{
-
namespace test
{
-
-#define PB_DS_BASE_C_DEC \
- std::map< \
- Key, \
- Data, \
- Cmp_Fn, \
- typename Allocator::template rebind< \
- std::pair< \
- const Key, \
- Data > >::other >
+#define PB_DS_BASE_C_DEC \
+ std::map<Key, Data, Cmp_Fn, \
+typename Allocator::template rebind<std::pair<const Key, Data > >::other >
template<typename Key, typename Data, class Cmp_Fn = std::less<Key>,
- class Allocator =
- std::allocator<char> >
+ class Allocator = std::allocator<char> >
class native_map : public PB_DS_BASE_C_DEC
{
private:
@@ -80,7 +72,6 @@ namespace pb_ds
public:
typedef native_tree_tag container_category;
- public:
native_map() : base_type()
{ }
@@ -90,15 +81,11 @@ namespace pb_ds
static std::string
name()
- {
- return ("n_map");
- }
+ { return std::string("n_map"); }
static std::string
desc()
- {
- return (make_xml_tag( "type", "value", "std_map"));
- }
+ { return make_xml_tag("type", "value", "std_map"); }
};
#undef PB_DS_BASE_C_DEC
diff --git a/libstdc++-v3/testsuite/util/native_type/assoc/native_multimap.hpp b/libstdc++-v3/testsuite/util/native_type/assoc/native_multimap.hpp
index 42b9766e3c7..e2e1bafb3fb 100644
--- a/libstdc++-v3/testsuite/util/native_type/assoc/native_multimap.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/assoc/native_multimap.hpp
@@ -48,38 +48,20 @@
#define PB_DS_NATIVE_MULTIMAP_HPP
#include <map>
-#include <native_type/assoc/native_tree_tag.hpp>
#include <string>
+#include <ext/pb_ds/detail/type_utils.hpp>
+#include <native_type/assoc/native_tree_tag.hpp>
namespace pb_ds
{
-
namespace test
{
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Data, class Less_Fn, class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- native_multimap< \
- Key, \
- Data, \
- Less_Fn, \
- Allocator>
-
-#define PB_DS_BASE_C_DEC \
- std::multimap< \
- Key, \
- Data, \
- Less_Fn, \
- typename Allocator::template rebind< \
- std::pair< \
- const Key, \
- Data> >::other >
+#define PB_DS_BASE_C_DEC \
+ std::multimap<Key, Data, Less_Fn, \
+ typename Allocator::template rebind<std::pair<const Key, Data> >::other>
template<typename Key, typename Data, class Less_Fn = std::less<Key>,
- class Allocator =
- std::allocator<char> >
+ class Allocator = std::allocator<char> >
class native_multimap : public PB_DS_BASE_C_DEC
{
private:
@@ -92,55 +74,41 @@ namespace pb_ds
typedef
typename Allocator::template rebind<
- std::pair<
- Key,
- Data> >::other::const_reference
+ std::pair<Key, Data> >::other::const_reference
const_reference;
typedef typename base_type::iterator iterator;
-
typedef typename base_type::const_iterator const_iterator;
- public:
- native_multimap();
+ native_multimap() { }
+
+ template<typename It>
+ native_multimap(It f, It l) : base_type(f, l)
+ { }
inline void
insert(const_reference r_val)
{
- typedef
- std::pair<
- typename base_type::iterator,
- typename base_type::iterator>
- eq_range_t;
-
+ typedef std::pair<iterator, iterator> eq_range_t;
eq_range_t f = base_type::equal_range(r_val.first);
- typename base_type::iterator it = f.first;
-
+ iterator it = f.first;
while (it != f.second)
{
if (it->second == r_val.second)
return;
-
++it;
}
-
base_type::insert(r_val);
}
inline iterator
find(const_reference r_val)
{
- typedef
- std::pair<
- typename base_type::iterator,
- typename base_type::iterator>
- eq_range_t;
-
+ typedef std::pair<iterator, iterator> eq_range_t;
eq_range_t f = base_type::equal_range(r_val.first);
- typename base_type::iterator it = f.first;
-
+ iterator it = f.first;
while (it != f.second)
{
if (it->second == r_val.second)
@@ -154,55 +122,28 @@ namespace pb_ds
inline const_iterator
find(const_reference r_val) const
{
- typedef
- std::pair<
- typename base_type::const_iterator,
- typename base_type::const_iterator>
- eq_range_t;
-
+ typedef std::pair<const_iterator, const_iterator> eq_range_t;
eq_range_t f = base_type::equal_range(r_val.first);
- typename base_type::const_iterator it = f.first;
-
+ const_iterator it = f.first;
while (it != f.second)
{
if (it->second == r_val.second)
return it;
++it;
}
-
return base_type::end();
}
-
- template<typename It>
- native_multimap(It f, It l);
-
+
static std::string
name()
- {
- return ("n_mmap");
- }
+ { return std::string("n_mmap"); }
static std::string
desc()
- {
- return (make_xml_tag("type", "value", "std_multimap"));
- }
+ { return make_xml_tag("type", "value", "std_multimap"); }
};
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- native_multimap()
- { }
-
- PB_DS_CLASS_T_DEC
- template<typename It>
- PB_DS_CLASS_C_DEC::
- native_multimap(It f, It l) : base_type(f, l)
- { }
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
#undef PB_DS_BASE_C_DEC
} // namespace test
diff --git a/libstdc++-v3/testsuite/util/native_type/assoc/native_set.hpp b/libstdc++-v3/testsuite/util/native_type/assoc/native_set.hpp
index ec72648f854..9d03adce3fc 100644
--- a/libstdc++-v3/testsuite/util/native_type/assoc/native_set.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/assoc/native_set.hpp
@@ -47,38 +47,30 @@
#ifndef PB_DS_NATIVE_SET_HPP
#define PB_DS_NATIVE_SET_HPP
+#include <string>
+#include <ext/pb_ds/detail/type_utils.hpp>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <native_type/assoc/native_tree_tag.hpp>
#include <io/xml.hpp>
-#include <string>
namespace pb_ds
{
-
namespace test
{
-
-#define PB_DS_BASE_C_DEC \
- std::set< \
- Key, \
- Cmp_Fn, \
- typename Allocator::template rebind< \
- Key>::other>
+#define PB_DS_BASE_C_DEC \
+ std::set<Key, Cmp_Fn, typename Allocator::template rebind<Key>::other>
template<typename Key, class Cmp_Fn = std::less<Key>,
- class Allocator =
- std::allocator<char> >
+ class Allocator = std::allocator<char> >
class native_set : public PB_DS_BASE_C_DEC
{
private:
- typedef PB_DS_BASE_C_DEC base_type;
+ typedef PB_DS_BASE_C_DEC base_type;
public:
- typedef native_tree_tag container_category;
+ typedef native_tree_tag container_category;
+ typedef typename base_type::const_iterator const_iterator;
- typedef typename PB_DS_BASE_C_DEC::const_iterator const_iterator;
-
- public:
native_set() : base_type()
{ }
@@ -91,21 +83,15 @@ namespace pb_ds
static std::string
name()
- {
- return ("n_set");
- }
+ { return std::string("n_set"); }
static std::string
desc()
- {
- return (make_xml_tag( "type", "value", "std_set"));
- }
+ { return make_xml_tag("type", "value", "std_set"); }
};
#undef PB_DS_BASE_C_DEC
-
} // namespace test
-
} // namespace pb_ds
#endif // #ifndef PB_DS_NATIVE_SET_HPP
diff --git a/libstdc++-v3/testsuite/util/native_type/assoc/native_tree_tag.hpp b/libstdc++-v3/testsuite/util/native_type/assoc/native_tree_tag.hpp
index bf69c92c235..079f1489bfa 100644
--- a/libstdc++-v3/testsuite/util/native_type/assoc/native_tree_tag.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/assoc/native_tree_tag.hpp
@@ -49,15 +49,11 @@
namespace pb_ds
{
-
namespace test
{
-
struct native_tree_tag
{ };
-
} // namespace test
-
} // namespace pb_ds
#endif // #ifndef PB_DS_NATIVE_TREE_DS_TAG_HPP
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/erase_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/erase_test.hpp
index 0754567a304..83e5fda0e5e 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/erase_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/erase_test.hpp
@@ -74,7 +74,7 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
erase_test(const erase_test& );
@@ -100,7 +100,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp
index 2cb9abc8f50..c20aee3e8fb 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp
@@ -75,18 +75,18 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
multimap_insert_test(const multimap_insert_test& );
template<typename Cntnr>
size_t
- insert(pb_ds::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e, pb_ds::detail::true_type);
+ insert(__gnu_cxx::typelist::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e, pb_ds::detail::true_type);
template<typename Cntnr>
size_t
- insert(pb_ds::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e, pb_ds::detail::false_type);
+ insert(__gnu_cxx::typelist::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e, pb_ds::detail::false_type);
private:
const It m_ins_b;
@@ -109,7 +109,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
@@ -123,7 +123,7 @@ namespace pb_ds
It ins_it_e = m_ins_b;
std::advance(ins_it_e, ins_size);
- const size_t delta_mem = insert(pb_ds::detail::type_to_type<Cntnr>(),
+ const size_t delta_mem = insert(__gnu_cxx::typelist::detail::type_to_type<Cntnr>(),
ins_it_b,
ins_it_e,
pb_ds::detail::integral_constant<int,Native>());
@@ -136,7 +136,7 @@ namespace pb_ds
template<typename Cntnr>
size_t
PB_DS_CLASS_C_DEC::
- insert(pb_ds::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e, pb_ds::detail::true_type)
+ insert(__gnu_cxx::typelist::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e, pb_ds::detail::true_type)
{
mem_track_allocator<char> alloc;
@@ -158,7 +158,7 @@ namespace pb_ds
template<typename Cntnr>
size_t
PB_DS_CLASS_C_DEC::
- insert(pb_ds::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e, pb_ds::detail::false_type)
+ insert(__gnu_cxx::typelist::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e, pb_ds::detail::false_type)
{
mem_track_allocator<char> alloc;
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp b/libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp
index 51cc3ccac62..c26cf3de587 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp
@@ -129,8 +129,8 @@ namespace pb_ds
public:
typedef
- typename pb_ds::detail::typelist_flatten<
- typename pb_ds::detail::typelist_transform<
+ typename __gnu_cxx::typelist::flatten<
+ typename __gnu_cxx::typelist::transform<
Sec_Tl,
hash_mmap_transform>::type>::type
type;
@@ -159,8 +159,8 @@ namespace pb_ds
public:
typedef
- typename pb_ds::detail::typelist_flatten<
- typename pb_ds::detail::typelist_transform<
+ typename __gnu_cxx::typelist::flatten<
+ typename __gnu_cxx::typelist::transform<
Sec_Tl,
tree_mmap_transform>::type>::type
type;
@@ -242,11 +242,11 @@ namespace pb_ds
public:
typedef
- typename pb_ds::detail::typelist_append<
+ typename __gnu_cxx::typelist::append<
hl_mmap_tl_t,
- typename pb_ds::detail::typelist_append<
+ typename __gnu_cxx::typelist::append<
hh_mmap_tl_t,
- typename pb_ds::detail::typelist_append<
+ typename __gnu_cxx::typelist::append<
th_mmap_tl_t,
tl_mmap_tl_t>::type>::type>::type
type;
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp
index 8a6a22e9827..be4a31b3bdc 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp
@@ -73,8 +73,8 @@ namespace pb_ds
};
typedef
- pb_ds::detail::typelist_flatten<
- pb_ds::detail::typelist_transform<
+ __gnu_cxx::typelist::flatten<
+ __gnu_cxx::typelist::transform<
hash_set_tl_t,
hash_mmap_transform>::type>::type
hash_mmap_tl_t;
@@ -97,8 +97,8 @@ namespace pb_ds
};
typedef
- pb_ds::detail::typelist_flatten<
- pb_ds::detail::typelist_transform<
+ __gnu_cxx::typelist::flatten<
+ __gnu_cxx::typelist::transform<
tree_set_tl_t,
tree_mmap_transform>::type>::type
tree_mmap_tl_t;
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/find_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/find_test.hpp
index aa58e8a9d4e..1ef770adcdc 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/find_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/find_test.hpp
@@ -140,7 +140,7 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
find_test(const find_test& );
@@ -176,7 +176,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/insert_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/insert_test.hpp
index d4227796d75..ab74c7a0492 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/insert_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/insert_test.hpp
@@ -104,14 +104,14 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
insert_test(const insert_test& );
template<typename Cntnr>
void
- insert(pb_ds::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e);
+ insert(__gnu_cxx::typelist::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e);
private:
const It m_ins_b;
@@ -134,7 +134,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
@@ -162,7 +162,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- insert(pb_ds::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e)
+ insert(__gnu_cxx::typelist::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e)
{
Cntnr cntnr;
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp
index 1d005fc686f..d8e5326afba 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp
@@ -155,18 +155,18 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
multimap_find_test(const multimap_find_test& );
template<typename Cntnr>
Cntnr
- init(It ins_b, It ins_e, pb_ds::detail::type_to_type<Cntnr>, pb_ds::detail::true_type);
+ init(It ins_b, It ins_e, __gnu_cxx::typelist::detail::type_to_type<Cntnr>, pb_ds::detail::true_type);
template<typename Cntnr>
Cntnr
- init(It ins_b, It ins_e, pb_ds::detail::type_to_type<Cntnr>, pb_ds::detail::false_type);
+ init(It ins_b, It ins_e, __gnu_cxx::typelist::detail::type_to_type<Cntnr>, pb_ds::detail::false_type);
private:
const It m_ins_b;
@@ -189,7 +189,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
@@ -205,7 +205,7 @@ namespace pb_ds
Cntnr c = init(ins_it_b,
ins_it_e,
- pb_ds::detail::type_to_type<Cntnr>(),
+ __gnu_cxx::typelist::detail::type_to_type<Cntnr>(),
pb_ds::detail::integral_constant<int,Native>());
pb_ds::test::detail::multimap_find_functor<It, Cntnr, Native>
@@ -222,7 +222,7 @@ namespace pb_ds
template<typename Cntnr>
Cntnr
PB_DS_CLASS_C_DEC::
- init(It ins_b, It ins_e, pb_ds::detail::type_to_type<Cntnr>, pb_ds::detail::true_type)
+ init(It ins_b, It ins_e, __gnu_cxx::typelist::detail::type_to_type<Cntnr>, pb_ds::detail::true_type)
{
return Cntnr(ins_b, ins_e);
}
@@ -231,7 +231,7 @@ namespace pb_ds
template<typename Cntnr>
Cntnr
PB_DS_CLASS_C_DEC::
- init(It ins_b, It ins_e, pb_ds::detail::type_to_type<Cntnr>, pb_ds::detail::false_type)
+ init(It ins_b, It ins_e, __gnu_cxx::typelist::detail::type_to_type<Cntnr>, pb_ds::detail::false_type)
{
Cntnr ret;
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_insert_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_insert_test.hpp
index f481137825c..4b6885bec02 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_insert_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_insert_test.hpp
@@ -132,7 +132,7 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
multimap_insert_test(const multimap_insert_test& );
@@ -158,7 +158,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_find_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_find_test.hpp
index eaf66b4537e..96c08b5c4db 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_find_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_find_test.hpp
@@ -106,7 +106,7 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
subscript_find_test(const subscript_find_test& );
@@ -142,7 +142,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_insert_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_insert_test.hpp
index 2fd8b887487..ad3d650f0c2 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_insert_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_insert_test.hpp
@@ -104,7 +104,7 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
subscript_insert_test(const subscript_insert_test& );
@@ -140,7 +140,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp
index c87a7823d6a..b169048883c 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp
@@ -157,7 +157,7 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
tree_order_statistics_test(const tree_order_statistics_test& );
@@ -188,7 +188,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_split_join_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_split_join_test.hpp
index 18dd0af6c13..4309d5a5b08 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_split_join_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_split_join_test.hpp
@@ -134,7 +134,7 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
tree_split_join_test(const tree_split_join_test& );
@@ -157,7 +157,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
diff --git a/libstdc++-v3/testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp b/libstdc++-v3/testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp
index 85e234c9b68..a0db15ff299 100644
--- a/libstdc++-v3/testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp
@@ -74,7 +74,7 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
pop_test(const pop_test& );
@@ -100,7 +100,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
diff --git a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/join_test.hpp b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/join_test.hpp
index ffa1187dde4..cd8135dba55 100644
--- a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/join_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/join_test.hpp
@@ -128,7 +128,7 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
using pb_ds::test::detail::double_push_functor;
using pb_ds::test::detail::double_push_join_functor;
@@ -159,7 +159,7 @@ namespace pb_ds
template<typename Cntnr>
void
- join(pb_ds::detail::type_to_type<Cntnr>, It b, It e)
+ join(__gnu_cxx::typelist::detail::type_to_type<Cntnr>, It b, It e)
{
Cntnr cntnr;
typedef typename Cntnr::const_reference const_reference;
diff --git a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/modify_test.hpp b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/modify_test.hpp
index 8694f995769..25fc4167c5f 100644
--- a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/modify_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/modify_test.hpp
@@ -283,14 +283,14 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
modify_test(const modify_test& );
template<typename Cntnr>
void
- modify(pb_ds::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e);
+ modify(__gnu_cxx::typelist::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e);
private:
const It m_ins_b;
@@ -316,7 +316,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
@@ -367,7 +367,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- modify(pb_ds::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e)
+ modify(__gnu_cxx::typelist::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e)
{
Cntnr cntnr;
diff --git a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_pop_test.hpp b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_pop_test.hpp
index 779ee672926..21869517cb3 100644
--- a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_pop_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_pop_test.hpp
@@ -107,14 +107,14 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
push_pop_test(const push_pop_test& );
template<typename Cntnr>
void
- push(pb_ds::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e);
+ push(__gnu_cxx::typelist::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e);
private:
const It m_ins_b;
@@ -137,7 +137,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
@@ -165,7 +165,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- push(pb_ds::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e)
+ push(__gnu_cxx::typelist::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e)
{
Cntnr cntnr;
diff --git a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_test.hpp b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_test.hpp
index 29dcd7740ce..fbcc340fad3 100644
--- a/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/priority_queue/timing/push_test.hpp
@@ -104,14 +104,14 @@ namespace pb_ds
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>);
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
private:
push_test(const push_test& );
template<typename Cntnr>
void
- push(pb_ds::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e);
+ push(__gnu_cxx::typelist::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e);
private:
const It m_ins_b;
@@ -134,7 +134,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
xml_result_set_performance_formatter res_set_fmt(
string_form<Cntnr>::name(),
@@ -162,7 +162,7 @@ namespace pb_ds
template<typename Cntnr>
void
PB_DS_CLASS_C_DEC::
- push(pb_ds::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e)
+ push(__gnu_cxx::typelist::detail::type_to_type<Cntnr>, It ins_it_b, It ins_it_e)
{
Cntnr cntnr;
diff --git a/libstdc++-v3/testsuite/util/regression/assoc/common_type.hpp b/libstdc++-v3/testsuite/util/regression/assoc/common_type.hpp
index 7567c5f105e..e62bf409c10 100644
--- a/libstdc++-v3/testsuite/util/regression/assoc/common_type.hpp
+++ b/libstdc++-v3/testsuite/util/regression/assoc/common_type.hpp
@@ -82,7 +82,7 @@ namespace test
typedef typename tree_common_types<basic_type, Data_Type, std::less<basic_type>, pb_ds::tree_order_statistics_node_update, alloc_type>::regression_tl order_statistics_tl_t;
public:
- typedef typename pb_ds::detail::typelist_append<no_order_statistics_tl_t, order_statistics_tl_t>::type tl_t;
+ typedef typename __gnu_cxx::typelist::append<no_order_statistics_tl_t, order_statistics_tl_t>::type tl_t;
typedef no_order_statistics_tl_t min_tl_t;
};
@@ -98,7 +98,7 @@ namespace test
typedef typename trie_common_types<basic_type, Data_Type, e_access_traits_t, pb_ds::pat_trie_tag, pb_ds::trie_prefix_search_node_update, alloc_type>::regression_tl prefix_search_tl_t;
public:
- typedef typename pb_ds::detail::typelist_append<no_updates_tl_t, typename pb_ds::detail::typelist_append<prefix_search_tl_t, order_statistics_tl_t>::type>::type tl_t;
+ typedef typename __gnu_cxx::typelist::append<no_updates_tl_t, typename __gnu_cxx::typelist::append<prefix_search_tl_t, order_statistics_tl_t>::type>::type tl_t;
typedef no_updates_tl_t min_tl_t;
};
diff --git a/libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp b/libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp
index a7c3b7b8b30..219701c46cf 100644
--- a/libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp
+++ b/libstdc++-v3/testsuite/util/regression/rand/assoc/rand_regression_test.hpp
@@ -76,7 +76,7 @@ namespace detail
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
unsigned long ul = static_cast<unsigned long>(m_sd);
container_rand_regression_test<Cntnr> t(ul, m_n, m_n, m_tp, m_ip,
@@ -143,7 +143,7 @@ namespace detail
try
{
detail::rand_reg_test tst(sd, n, m, tp, ip, ep, cp, mp, disp);
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
catch(...)
{
diff --git a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp
index 385a2c4dda2..1390a075b86 100644
--- a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp
+++ b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp
@@ -76,7 +76,7 @@ namespace detail
template<typename Cntnr>
void
- operator()(pb_ds::detail::type_to_type<Cntnr>)
+ operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
{
unsigned long ul = static_cast<unsigned long>(m_sd);
container_rand_regression_test<Cntnr> t(ul, m_n, m_n, m_tp, m_ip, m_dp,
@@ -145,7 +145,7 @@ namespace detail
try
{
detail::rand_reg_test tst(sd, n, m, tp, ip, dp, ep, cp, mp, disp);
- pb_ds::detail::typelist_apply(tst, tl);
+ __gnu_cxx::typelist::apply(tst, tl);
}
catch(...)
{
diff --git a/libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp b/libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp
index f0da95ed0dd..16075f17e17 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp
@@ -93,7 +93,7 @@ namespace pb_ds
generate_value(Gen& r_gen, size_t max)
{
return (generate_value(r_gen, max,
- pb_ds::detail::type_to_type<value_type>()));
+ __gnu_cxx::typelist::detail::type_to_type<value_type>()));
}
static const_key_reference
@@ -118,21 +118,21 @@ namespace pb_ds
private:
template<typename Gen>
static value_type
- generate_value(Gen& r_gen, size_t max, pb_ds::detail::type_to_type<pb_ds::null_mapped_type>)
+ generate_value(Gen& r_gen, size_t max, __gnu_cxx::typelist::detail::type_to_type<pb_ds::null_mapped_type>)
{
return (basic_type(r_gen, max));
}
template<typename Gen>
static value_type
- generate_value(Gen& r_gen, size_t max, pb_ds::detail::type_to_type<basic_type>)
+ generate_value(Gen& r_gen, size_t max, __gnu_cxx::typelist::detail::type_to_type<basic_type>)
{
return (basic_type(r_gen, max));
}
template<typename Gen>
static value_type
- generate_value(Gen& r_gen, size_t max, pb_ds::detail::type_to_type<std::pair<const basic_type, basic_type> >)
+ generate_value(Gen& r_gen, size_t max, __gnu_cxx::typelist::detail::type_to_type<std::pair<const basic_type, basic_type> >)
{
return (std::make_pair(basic_type(r_gen, max), basic_type(r_gen, max)));
}