Commit Graph

58 Commits

Author SHA1 Message Date
Kelley Cook
83f517994d All files: Update FSF address.
2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>

	* All files: Update FSF address.

From-SVN: r103192
2005-08-17 02:28:44 +00:00
Paolo Carlini
ceed88b131 re PR libstdc++/22515 (operator>>(istream, string/CharT*) can be faster)
2005-07-24  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/22515
	* include/bits/basic_string.h: Declare the specialization
	operator>>(basic_istream<char>&, basic_string<char>&).
	* include/std/std_istream.h: Declate the specialization
	operator>>(basic_istream<char>&, char*).
	* include/std/std_streambuf.h (basic_streambuf): Add friend
	declarations for the above.
	* src/istream.cc: Define the above.
	* testsuite/27_io/basic_istream/extractors_character/char/4.cc: New.
	* testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
	Likewise.
	* testsuite/performance/27_io/ifstream_extract_chars.cc: Likewise.

From-SVN: r102353
2005-07-25 08:47:33 +00:00
Benjamin Kosnik
fd1e17264b documentation.html: Add link for policy based associative containers docs.
2005-06-27  Benjamin Kosnik  <bkoz@redhat.com>
	    Ami Tavory  <pbassoc@gmail.com>

	* docs/html/documentation.html: Add link for policy based
	associative containers docs.
	* docs/html/ext/pb_assoc/Std_hash_set_impl.jpg: New.
	* docs/html/ext/pb_assoc/acks.html: New.
	* docs/html/ext/pb_assoc/balls_and_bins.jpg: New.
	* docs/html/ext/pb_assoc/basic_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/basic_assoc_cntnr_compound_data.html: New.
	* docs/html/ext/pb_assoc/basic_assoc_cntnr_no_data.html: New.
	* docs/html/ext/pb_assoc/basic_ds_tag.html: New.
	* docs/html/ext/pb_assoc/basic_hash_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/basic_hash_ds_tag.html: New.
	* docs/html/ext/pb_assoc/basic_invalidation_guarantee.html: New.
	* docs/html/ext/pb_assoc/basic_ms_tag.html: New.
	* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/
	  basic_tree_assoc_cntnr_const_node_iterator.html: New.
	* docs/html/ext/pb_assoc/
	  basic_tree_assoc_cntnr_node_iterator.html: New.
	* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev.html: New.
	* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev_it.html: New.
	* docs/html/ext/pb_assoc/basic_tree_ds_tag.html: New.
	* docs/html/ext/pb_assoc/cc_hash_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/cc_hash_ds_tag.html: New.
	* docs/html/ext/pb_assoc/
	  cc_hash_max_collision_check_resize_trigger.html: New.
	* docs/html/ext/pb_assoc/cc_hash_policy_cd.jpg: New.
	* docs/html/ext/pb_assoc/cd.jpg: New.
	* docs/html/ext/pb_assoc/component_requirements.html: New.
	* docs/html/ext/pb_assoc/compound_data_enabled_ms_tag.html: New.
	* docs/html/ext/pb_assoc/compound_data_type.html: New.
	* docs/html/ext/pb_assoc/compound_ds_tag.html: New.
	* docs/html/ext/pb_assoc/concepts.html: New.
	* docs/html/ext/pb_assoc/contact.html: New.
	* docs/html/ext/pb_assoc/counter_update_metadata.html: New.
	* docs/html/ext/pb_assoc/counter_update_policy.html: New.
	* docs/html/ext/pb_assoc/data_enabled_ms_tag.html: New.
	* docs/html/ext/pb_assoc/design.html: New.
	* docs/html/ext/pb_assoc/different_underlying_dss.jpg: New.
	* docs/html/ext/pb_assoc/direct_mask_range_hashing.html: New.
	* docs/html/ext/pb_assoc/direct_mod_range_hashing.html: New.
	* docs/html/ext/pb_assoc/disclaimer.html: New.
	* docs/html/ext/pb_assoc/ds_gen.html: New.
	* docs/html/ext/pb_assoc/ds_tag_cd.jpg: New.
	* docs/html/ext/pb_assoc/ds_traits.html: New.
	* docs/html/ext/pb_assoc/embedded_lists_1.jpg: New.
	* docs/html/ext/pb_assoc/embedded_lists_2.jpg: New.
	* docs/html/ext/pb_assoc/examples.html: New.
	* docs/html/ext/pb_assoc/exception_guarantees_specifics.html: New.
	* docs/html/ext/pb_assoc/find_invalidation_guarantee.html: New.
	* docs/html/ext/pb_assoc/find_iterators_cd.jpg: New.
	* docs/html/ext/pb_assoc/find_iterators_range_ops_1.jpg: New.
	* docs/html/ext/pb_assoc/find_iterators_range_ops_2.jpg: New.
	* docs/html/ext/pb_assoc/generics.html: New.
	* docs/html/ext/pb_assoc/gp_hash_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/gp_hash_ds_tag.html: New.
	* docs/html/ext/pb_assoc/gp_hash_policy_cd.jpg: New.
	* docs/html/ext/pb_assoc/hash_and_probe_general.html: New.
	* docs/html/ext/pb_assoc/hash_based_containers.html: New.
	* docs/html/ext/pb_assoc/hash_cd.jpg: New.
	* docs/html/ext/pb_assoc/hash_exponential_size_policy.html: New.
	* docs/html/ext/pb_assoc/hash_fn.html: New.
	* docs/html/ext/pb_assoc/hash_load_check_resize_trigger.html: New.
	* docs/html/ext/pb_assoc/hash_policies.html: New.
	* docs/html/ext/pb_assoc/hash_policy_cd.jpg: New.
	* docs/html/ext/pb_assoc/hash_prime_size_policy.html: New.
	* docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram.jpg: New.
	* docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram2.jpg: New.
	* docs/html/ext/pb_assoc/hash_ranged_hash_range_hashing_fns.jpg: New.
	* docs/html/ext/pb_assoc/hash_standard_resize_policy.html: New.
	* docs/html/ext/pb_assoc/home.html: New.
	* docs/html/ext/pb_assoc/index.html: New.
	* docs/html/ext/pb_assoc/insert_resize_sequence_diagram1.jpg: New.
	* docs/html/ext/pb_assoc/insert_resize_sequence_diagram2.jpg: New.
	* docs/html/ext/pb_assoc/insert_resize_sequence_diagram3.jpg: New.
	* docs/html/ext/pb_assoc/insert_type_methods.html: New.
	* docs/html/ext/pb_assoc/interface.html: New.
	* docs/html/ext/pb_assoc/interval_node_invariants.jpg: New.
	* docs/html/ext/pb_assoc/introduction.html: New.
	* docs/html/ext/pb_assoc/invalidation_guarantee_cd.jpg: New.
	* docs/html/ext/pb_assoc/invalidation_guarantee_erase.jpg: New.
	* docs/html/ext/pb_assoc/lib_download.html: New.
	* docs/html/ext/pb_assoc/linear_probe_fn.html: New.
	* docs/html/ext/pb_assoc/list_updates.html: New.
	* docs/html/ext/pb_assoc/lu_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/lu_based_containers.html: New.
	* docs/html/ext/pb_assoc/lu_cd.jpg: New.
	* docs/html/ext/pb_assoc/lu_ds_tag.html: New.
	* docs/html/ext/pb_assoc/lu_ops.jpg: New.
	* docs/html/ext/pb_assoc/mmap_value_utils.html: New.
	* docs/html/ext/pb_assoc/motivation.html: New.
	* docs/html/ext/pb_assoc/move_to_front_update_metadata.html: New.
	* docs/html/ext/pb_assoc/move_to_front_update_policy.html: New.
	* docs/html/ext/pb_assoc/ms_cd.jpg: New.
	* docs/html/ext/pb_assoc/ms_gen.html: New.
	* docs/html/ext/pb_assoc/ms_tag_cd.jpg: New.
	* docs/html/ext/pb_assoc/ms_traits.html: New.
	* docs/html/ext/pb_assoc/node_invariant_invalidations.jpg: New.
	* docs/html/ext/pb_assoc/node_invariants.html: New.
	* docs/html/ext/pb_assoc/node_invariants.jpg: New.
	* docs/html/ext/pb_assoc/non_unique_mapping.html: New.
	* docs/html/ext/pb_assoc/non_unique_mapping_containers.jpg: New.
	* docs/html/ext/pb_assoc/null_data_type.html: New.
	* docs/html/ext/pb_assoc/null_hash_fn.html: New.
	* docs/html/ext/pb_assoc/null_probe_fn.html: New.
	* docs/html/ext/pb_assoc/order_by_key.html: New.
	* docs/html/ext/pb_assoc/order_statistics_key.html: New.
	* docs/html/ext/pb_assoc/order_statistics_key_cmp.html: New.
	* docs/html/ext/pb_assoc/order_statistics_node_updator.html: New.
	* docs/html/ext/pb_assoc/ov_tree_ds_tag.html: New.
	* docs/html/ext/pb_assoc/overview.html: New.
	* docs/html/ext/pb_assoc/pb_assoc_ex.html: New.
	* docs/html/ext/pb_assoc/portability.html: New.
	* docs/html/ext/pb_assoc/quadratic_probe_fn.html: New.
	* docs/html/ext/pb_assoc/range_invalidation_guarantee.html: New.
	* docs/html/ext/pb_assoc/rank_node_invariants.jpg: New.
	* docs/html/ext/pb_assoc/rationale_null_node_updator.jpg: New.
	* docs/html/ext/pb_assoc/rb_tree_ds_tag.html: New.
	* docs/html/ext/pb_assoc/reference_iterator.jpg: New.
	* docs/html/ext/pb_assoc/references.html: New.
	* docs/html/ext/pb_assoc/regression_tests.html: New.
	* docs/html/ext/pb_assoc/resize_general.html: New.
	* docs/html/ext/pb_assoc/resize_policies.html: New.
	* docs/html/ext/pb_assoc/resize_policy_cd.jpg: New.
	* docs/html/ext/pb_assoc/restoring_node_invariants.jpg: New.
	* docs/html/ext/pb_assoc/sample_node_updator.hpp: New.
	* docs/html/ext/pb_assoc/sample_probe_fn.hpp: New.
	* docs/html/ext/pb_assoc/sample_probe_fn.html: New.
	* docs/html/ext/pb_assoc/sample_range_hashing.hpp: New.
	* docs/html/ext/pb_assoc/sample_range_hashing.html: New.
	* docs/html/ext/pb_assoc/sample_ranged_hash_fn.hpp: New.
	* docs/html/ext/pb_assoc/sample_ranged_hash_fn.html: New.
	* docs/html/ext/pb_assoc/sample_ranged_probe_fn.hpp: New.
	* docs/html/ext/pb_assoc/sample_ranged_probe_fn.html: New.
	* docs/html/ext/pb_assoc/sample_resize_policy.hpp: New.
	* docs/html/ext/pb_assoc/sample_resize_policy.html: New.
	* docs/html/ext/pb_assoc/sample_resize_trigger.hpp: New.
	* docs/html/ext/pb_assoc/sample_size_policy.hpp: New.
	* docs/html/ext/pb_assoc/sample_update_policy.hpp: New.
	* docs/html/ext/pb_assoc/size_policies_general.html: New.
	* docs/html/ext/pb_assoc/splay_tree_ds_tag.html: New.
	* docs/html/ext/pb_assoc/timing_tests.html: New.
	* docs/html/ext/pb_assoc/toc.html: New.
	* docs/html/ext/pb_assoc/tree_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/
	  tree_assoc_cntnr_const_node_iterator.html: New.
	* docs/html/ext/pb_assoc/tree_assoc_cntnr_node_iterator.html: New.
	* docs/html/ext/pb_assoc/tree_based_containers.html: New.
	* docs/html/ext/pb_assoc/tree_cd.jpg: New.
	* docs/html/ext/pb_assoc/trigger_policies_general.html: New.
	* docs/html/ext/pb_assoc/tutorial.html: New.
	* docs/html/ext/pb_assoc/update_seq_diagram.jpg: New.
	* include/Makefile.am: Add assoc_srcdir, assoc_builddir, assoc_subdir,
	assoc_headers.
	* include/Makefile.in: Regenerate.
	* include/ext/typelist.h: New.
	* include/ext/pb_assoc/assoc_cntnr.hpp: New.
	* include/ext/pb_assoc/data_type.hpp: New.
	* include/ext/pb_assoc/ds_trait.hpp: New.
	* include/ext/pb_assoc/exception.hpp: New.
	* include/ext/pb_assoc/hash_policy.hpp: New.
	* include/ext/pb_assoc/lu_policy.hpp: New.
	* include/ext/pb_assoc/ms_trait.hpp: New.
	* include/ext/pb_assoc/tree_policy.hpp: New.
	* include/ext/pb_assoc/trivial_iterator_def.hpp: New.
	* include/ext/pb_assoc/detail/assoc_cntnr_base.hpp: New.
	* include/ext/pb_assoc/detail/cond_dealtor.hpp: New.
	* include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ds_trait_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_types_traits.hpp: New.
	* include/ext/pb_assoc/detail/map_debug_base.hpp: New.
	* include/ext/pb_assoc/detail/mapping_level_imp.hpp: New.
	* include/ext/pb_assoc/detail/ms_category_imp.hpp: New.
	* include/ext/pb_assoc/detail/ms_trait_imp.hpp: New.
	* include/ext/pb_assoc/detail/order_statistics_imp.hpp: New.
	* include/ext/pb_assoc/detail/standard_policies.hpp: New.
	* include/ext/pb_assoc/detail/standard_sizes.hpp: New.
	* include/ext/pb_assoc/detail/type_utils.hpp: New.
	* include/ext/pb_assoc/detail/typelist.hpp: New.
	* include/ext/pb_assoc/detail/types_traits.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
     	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  d_find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  d_insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
	  resize_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  node_iteration_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  r_erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  r_range_iteration_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  range_iteration_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  bin_search_tree_.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  cond_dtor_entry_dealtor.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  cond_key_dtor_entry_dealtor.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  r_erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  cond_key_dtor_entry_dealtor.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  constructor_destructor_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  constructor_destructor_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  debug_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  debug_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  erase_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  erase_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  find_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  find_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  insert_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  insert_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  resize_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  resize_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp: New.
	* include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp: New.
	* include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp: New.
	* include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  constructor_destructor_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  constructor_destructor_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  debug_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  debug_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  erase_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  erase_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  find_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  find_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
  	  insert_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  insert_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  resize_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  resize_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/
	  direct_mask_range_hashing_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/
	  direct_mod_range_hashing_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/
	  mask_based_range_hashing.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp: New.
	* include/ext/pb_assoc/detail/lu_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_assoc_cntnr/
	  policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_policy/
  	  counter_lu_metadata_imp.hpp: New.
	* include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/node.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  cc_hash_max_collision_resize_trigger_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  hash_exponential_size_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  hash_load_check_resize_trigger_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  hash_prime_size_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  hash_standard_resize_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  ht_prime_size_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/size_base.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/node.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/tree_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/tree_policy/
	  null_node_updator_imp.hpp: New.
	* include/ext/pb_assoc/detail/tree_policy/
	  order_statistics_imp.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_append.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_apply.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_contains.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_filter.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_transform.hpp: New.
	* include/ext/pb_assoc/detail/typelist/
	  typelist_typelist_append.hpp: New.
	* include/ext/pb_assoc/detail/unordered_iterator/
	  const_find_iterator.hpp: New.
	* include/ext/pb_assoc/detail/unordered_iterator/
	  const_iterator.hpp: New.
	* include/ext/pb_assoc/detail/unordered_iterator/
	  find_iterator.hpp: New.
	* include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	  constructor_destructor_and_related.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	  erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	  erase_if_pred.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	invalidation_guarantee_selector.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	it_value_type_traits.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	iterator_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	value_type_adapter.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	value_type_traits.hpp: New.
	* testsuite/Makefile.am (CLEANFILES): Add .o, .dat, .cc.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/testsuite_common_types.h: New.
	* testsuite/testsuite_visualization.h: New.
	* testsuite/ext/pb_assoc/example/basic_map.cc: New.
	* testsuite/ext/pb_assoc/example/basic_multimap.cc: New.
	* testsuite/ext/pb_assoc/example/basic_set.cc: New.
	* testsuite/ext/pb_assoc/example/ds_traits.cc: New.
	* testsuite/ext/pb_assoc/example/erase_if.cc: New.
	* testsuite/ext/pb_assoc/example/extract_key.cc: New.
	* testsuite/ext/pb_assoc/example/hash_find_neg.cc: New.
	* testsuite/ext/pb_assoc/example/hash_illegal_resize.cc: New.
	* testsuite/ext/pb_assoc/example/hash_initial_size.cc: New.
	* testsuite/ext/pb_assoc/example/hash_load_set_change.cc: New.
	* testsuite/ext/pb_assoc/example/hash_mod.cc: New.
	* testsuite/ext/pb_assoc/example/hash_resize.cc: New.
	* testsuite/ext/pb_assoc/example/hash_resize_neg.cc: New.
	* testsuite/ext/pb_assoc/example/hash_shift_mask.cc: New.
	* testsuite/ext/pb_assoc/example/mapping_level.cc: New.
	* testsuite/ext/pb_assoc/example/mapping_level_neg.cc: New.
	* testsuite/ext/pb_assoc/example/ms_traits.cc: New.
	* testsuite/ext/pb_assoc/example/ranged_hash.cc: New.
	* testsuite/ext/pb_assoc/example/store_hash.cc: New.
	* testsuite/ext/pb_assoc/example/tree_intervals.cc: New.
	* testsuite/ext/pb_assoc/example/tree_join.cc: New.
	* testsuite/ext/pb_assoc/example/tree_order_statistics.cc: New.
	* testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc: New.
	* testsuite/ext/pb_assoc/example/tree_split.cc: New.
	* testsuite/performance/20_util/allocator/(insert.cc,
	  insert_insert.cc, list_sort_search.cc, map_mt_find.cc, map_thread.cc,
	  producer_consumer.cc): Recast to use typelists and move to...
	* testsuite/performance/23_containers/find/map.cc: New.
	* testsuite/performance/23_containers/index/map.cc: New.
	* testsuite/performance/23_containers/insert/associative.cc: New.
	* testsuite/performance/23_containers/insert/sequence.cc: New.
	* testsuite/performance/23_containers/insert_erase/associative.cc: New.
	* testsuite/performance/23_containers/producer_consumer/
	(associative.cc, sequence.cc): New.
	* testsuite/performance/23_containers/sort_search/list.cc: New.
	* testsuite/performance/23_containers/container_benchmark.cc: Remove.
	* testsuite/performance/23_containers/map_create_fill.cc: Move...
	* testsuite/performance/23_containers/create/map.cc: ...here.
	* testsuite/performance/23_containers/set_create_from_sorted.cc: Move.
	* testsuite/performance/23_containers/create_from_sorted/set.cc: here.
	* testsuite/performance/23_containers/list_create_fill_sort.cc: Move...
	* testsuite/performance/23_containers/create_sort/list.cc: ...here.
	* testsuite/performance/23_containers/set_insert_from_sorted.cc: Move.
	* testsuite/performance/23_containers/insert_from_sorted/set.cc: here.

Co-Authored-By: Ami Tavory <pbassoc@gmail.com>

From-SVN: r101354
2005-06-27 15:33:38 +00:00
Benjamin Kosnik
f474835bb9 testsuite_performance.h (time_counter::start): Clear.
2005-01-18  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_performance.h (time_counter::start):
	Clear. Tweaks.
	(clear_counters): Inline.
	(start_counters): Inline.
	(stop_counters): Inline.
	* testsuite/performance/20_util/allocator/map_thread.cc: Return.
	* testsuite/performance/20_util/allocator/insert.cc: Remove bogus
	return, add return.
	* testsuite/performance/20_util/allocator/map_thread.cc: Same.

From-SVN: r93834
2005-01-18 16:44:51 +00:00
Paolo Carlini
ac317859d4 re PR libstdc++/19433 (set, multiset, map, multimap misuse hint on insert)
2005-01-17  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19433
	* include/bits/stl_tree.h (_Rb_tree<>::insert_unique(iterator,
	const _Val&), _Rb_tree<>::insert_equal(iterator, const _Val&)):
	Obtain amortized constant complexity if t is inserted right after
	p - not before p - as per Table 69.
	* testsuite/performance/23_containers/set_insert_from_sorted.cc: New.

	* testsuite/23_containers/multiset/insert/2.cc: New.
	* testsuite/23_containers/set/insert/1.cc: Likewise.

	* testsuite/performance/23_containers/set_create_from_sorted.cc:
	Simplify.

	* include/bits/stl_tree.h: Add a few missing std:: qualifications.

From-SVN: r93761
2005-01-17 14:14:26 +00:00
Paolo Carlini
21c332dc93 re PR libstdc++/19422 (assoc. containers: ctor taking range is O(n log n) even if the range is sorted)
2005-01-14  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19422
	* include/bits/stl_tree.h (_Rb_tree<>::insert_equal(_II, _II),
	_Rb_tree<>::insert_unique(_II, _II)): Use insert_equal (insert_unique,
	respectively) with hint (end()).
	* testsuite/performance/23_containers/set_create_from_sorted.cc: New.

From-SVN: r93663
2005-01-14 21:09:38 +00:00
Chris Jefferson
278d4cc485 testsuite_iterators.h: New.
2004-11-23  Chris Jefferson  <chris@bubblescope.net>

        * testsuite/testsuite_iterators.h: New.
        * testsuite/25_algorithms/search_n/iterator.cc: New.
        * testsuite/performance/25_algorithms/search_n.cc: New.

From-SVN: r91139
2004-11-24 06:24:10 +00:00
Paolo Carlini
32890afef4 ifstream_getline-2.cc: New.
2004-11-07  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/27_io/ifstream_getline-2.cc: New.

From-SVN: r90229
2004-11-07 12:35:48 +00:00
Paolo Carlini
b67ed5e845 list_sort_search.cc: Include <ext/new_allocator.h>.
2004-10-19  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/20_util/allocator/list_sort_search.cc:
	Include <ext/new_allocator.h>.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.

From-SVN: r89269
2004-10-19 08:56:32 +00:00
Paolo Carlini
cbb0dcef12 basic_string.tcc (_S_create): Use consistently the exponential policy, simplify.
2004-10-13  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (_S_create): Use consistently
	the exponential policy, simplify.
	* testsuite/performance/21_strings/string_append_2.cc: New.

	* include/ext/array_allocator.h (allocate): Fix bad_alloc check.
	* testsuite/ext/array_allocator/2.cc: Fix wrt 64-bit archs (in
	that case sizeof(_Rep) == 24).

From-SVN: r88972
2004-10-13 08:58:41 +00:00
Paolo Carlini
a780ad2f43 monetary_members.cc (_S_construct_pattern): Give __ret a default value, thus avoiding spurious warnings.
2004-10-10  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/monetary_members.cc (_S_construct_pattern):
	Give __ret a default value, thus avoiding spurious warnings.

	* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Open either
	words or linux.words, otherwise exit.
	* testsuite/performance/27_io/ifstream_getline.cc: Slighlty tweak.

From-SVN: r88848
2004-10-10 17:55:23 +00:00
Paolo Carlini
c56e3d82fc re PR libstdc++/11722 ([3.4 only] Unbuffered filebuf::sgetn is slow)
2004-09-13  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11722
	* include/std/std_fstream.h (xsgetn): Declare only.
	* include/bits/fstream.tcc (xsgetn): Define, optimize for the
	always_noconv() case: when __n > __buflen, copy the available
	buffer and issue a direct read.
	* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.

	* include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
	conditional.

From-SVN: r87453
2004-09-13 22:21:34 +00:00
Paolo Carlini
1b90e7a391 insert.cc: For std::map instantiate the allocator for a correct pair type.
2004-08-19  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/20_util/allocator/insert.cc: For std::map
	instantiate the allocator for a correct pair type.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
	* testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
	* testsuite/performance/20_util/allocator/producer_consumer.cc:
	Likewise.

	* testsuite/performance/20_util/allocator/list_sort_search.cc: Very
	minor formatting fixes.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.

From-SVN: r86269
2004-08-19 20:22:45 +00:00
Paolo Carlini
9f9000d177 re PR libstdc++/16401 (ostringstream in gcc 3.4.x very slow for big data)
2004-07-07  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/16401
	* include/bits/sstream.tcc (overflow): When reallocating _M_string
	use an exponential grow policy.
	* testsuite/27_io/basic_stringbuf/overflow/char/1.cc: New.
	* testsuite/performance/27_io/stringbuf_overflow.cc: New.

From-SVN: r84235
2004-07-07 21:48:01 +00:00
Paolo Carlini
4a787fa8bf [multiple changes]
2004-06-12  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/algorithm: Trivial formatting fixes.
	* include/ext/functional: Likewise.
	* include/ext/hash_fun.h: Likewise.
	* include/ext/iterator: Likewise.

2004-06-12  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (find(const _CharT*, size_type,
	size_type)): Reimplement using std::search.
	* src/string-inst.cc: Instantiate std::search for char/wchar_t.

2004-06-12  Dhruv Matani  <dhruvbird@gmx.net>

	* testsuite/performance/21_strings/string_find.cc: New.

From-SVN: r83022
2004-06-12 08:10:24 +00:00
Dhruv Matani
e0fb1c5c37 list_sort_search.cc: Minor formatting fixes.
2004-04-12  Dhruv Matani  <dhruvbird@gmx.net>

	* testsuite/performance/20_util/allocator/list_sort_search.cc:
	Minor formatting fixes.
	* testsuite/performance/20_util/allocator/map_mt_find.cc:
	Likewise.

From-SVN: r80624
2004-04-12 16:11:21 +00:00
Paolo Carlini
9f35e4aab5 filebuf_sputn_unbuf.cc: New, adapted from libstdc++/11378.
2004-04-04  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	* testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
	adapted from libstdc++/11378.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r80398
2004-04-04 18:18:29 +00:00
Paolo Carlini
c8333c0fd5 mt_allocator.h (__mt_alloc<>::allocate): Factor out some duplicated code.
2004-04-03  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
	some duplicated code.
	(__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
	in the single threaded case.
	* testsuite/performance/20_util/allocator/list_sort_search.cc:
	Reorder and renumber the tests consistently with the other testfiles.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
	* testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
	* testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.

From-SVN: r80375
2004-04-03 13:39:16 +00:00
Felix Yen
b4a76c01db producer_consumer.cc: Use linear algorithm for producer.
2004-03-24  Felix Yen  <fwy@alumni.brown.edu>

	* testsuite/performance/20_util/allocator/producer_consumer.cc:
	Use linear algorithm for producer.

From-SVN: r79920
2004-03-24 17:16:07 +00:00
Paolo Carlini
29d4adf460 acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
2004-03-22  Paolo Carlini  <pcarlini@suse.de>

	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
	* configure: Regenerate.
	* config/allocator/pool_allocator_base.h: New.
	* include/ext/pool_allocator.h: Convert to a standard-conforming
	allocator.
	* src/allocator.cc: Tweak instantiations.
	* testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
	* testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
	* testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
	* testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.

From-SVN: r79824
2004-03-22 13:07:13 +00:00
Dhruv Matani
009368dba6 ballocator_doc.txt: New file.
2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>

	* docs/html/ext/ballocator_doc.txt: New file.
	* include/Makefile.am (ext_headers): Add
	${ext_srcdir}/bitmap_allocator.h .
	* include/Makefile.in: Regenerate (by hand, since I didn't have
	automake de jure on hand).
	* include/ext/bitmap_allocator.h: New file.
	* testsuite/performance/20_util/allocator/list_sort_search.cc: New test.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
	* testsuite/performance/20_util/allocator/producer_consumer.cc: Add
	test for the bitmap_allocator<>.
	* testsuite/performance/20_util/allocator/insert.cc: Likewise.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
	* testsuite/performance/20_util/allocator/map_thread.cc: Likewise.

From-SVN: r79366
2004-03-12 03:28:12 +00:00
Paolo Carlini
a2af66c186 re PR libstdc++/14078 (Manipulators are slow)
2004-02-10  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/14078
	* include/std/std_istream.h (operator>>(__istream_type& (*)
	(__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
	operator>>(ios_base& (*)(ios_base&))): Declare inline.
	* include/std/std_ostream.h (operator<<(__ostream_type& (*)
	(__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
	operator<<(ios_base& (*) (ios_base&))): Likewise.
	* testsuite/performance/27_io/fmtflags_manipulators.cc: New.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r77650
2004-02-11 12:08:23 +00:00
Loren J. Rittle
093b46f04f check_performance (CXX): Add -DNOTHREAD.
* scripts/check_performance (CXX): Add -DNOTHREAD.
	* testsuite/performance/20_util/allocator/insert.cc: Integrate
	threaded tests from insert_insert.cc.  Tweak iterations,
	remove special cases.
	* testsuite/performance/20_util/allocator/insert_insert.cc:
	Make all tests single-threaded. Tweak iterations.
	* testsuite/performance/20_util/allocator/map_thread.cc:
	Tweak iterations.
	* testsuite/performance/20_util/allocator/producer_consumer.cc:
	Likewise.

From-SVN: r77388
2004-02-06 08:12:38 +00:00
Loren J. Rittle
f63fd68beb * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
From-SVN: r77293
2004-02-05 03:52:41 +00:00
Benjamin Kosnik
de8a2f8702 [multiple changes]
2004-02-04  Felix Yen  <fwy@alumni.brown.edu>

	* testsuite/performance/20_util/producer_consumer.cc: New.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.

2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/20_util/allocator.cc: Move to..
	* testsuite/performance/20_util/allocator/insert.cc: ...here.
	* testsuite/performance/20_util/allocator_thread.cc: Move to...
	* testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
	* testsuite/performance/20_util/allocator_map_thread.cc: Move to...
	* testsuite/performance/20_util/allocator/map_thread.cc: ...here.

From-SVN: r77285
2004-02-05 01:33:07 +00:00
Felix Yen
2226963242 allocator.cc: Add map, deque, set tests.
2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/20_util/allocator.cc: Add map,
	deque, set tests.
	* testsuite/performance/20_util/allocator_thread.cc: Same.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r77225
2004-02-04 06:21:21 +00:00
Paolo Carlini
7c960b3dff 6.cc: New.
2004-01-30  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/21_strings/basic_string/cons/char/6.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
	* testsuite/performance/21_strings/string_cons_input_iterator.cc:
	New.

From-SVN: r77006
2004-01-30 23:26:13 +00:00
Felix Yen
7b1d1edf99 allocator_thread.cc (do_loop): Don't use clear, but instead assign.
2004-01-30  Felix Yen  <fwy@alumni.brown.edu>

	* testsuite/performance/20_util/allocator_thread.cc (do_loop):
	Don't use clear, but instead assign. Use insert.

From-SVN: r76979
2004-01-30 18:14:42 +00:00
Paolo Carlini
33e95e9d04 Reshuffle performance testsuite.
2004-01-30  Paolo Carlini  <pcarlini@suse.de>

	Reshuffle performance testsuite.
	* testsuite/performance/allocator.cc, allocator_map_thread.cc,
	allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
	cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
	fstream_seek_write.cc, ifstream_extract_float.cc,
	ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
	list_create_fill_sort.cc, map_create_fill.cc,
	narrow_widen_char.cc, narrow_widen_wchar_t.cc,
	ofstream_insert_float.cc, ofstream_insert_int.cc,
	string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
	wchar_t_out.cc: Split into...
	* testsuite/performance/20_util/allocator.cc: New.
	* testsuite/performance/20_util/allocator_map_thread.cc: New.
	* testsuite/performance/20_util/allocator_thread.cc: New.
	* testsuite/performance/21_strings/string_append: New.
	* testsuite/performance/22_locale/is_wchar_t.cc: New.
	* testsuite/performance/22_locale/narrow_widen_char.cc: New.
	* testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
	* testsuite/performance/22_locale/wchar_t_in.cc: New.
	* testsuite/performance/22_locale/wchar_t_length.cc: New.
	* testsuite/performance/22_locale/wchar_t_out.cc: New.
	* testsuite/performance/23_containers/container_benchmark.cc: New.
	* testsuite/performance/23_containers/list_create_fill_sort.cc: New.
	* testsuite/performance/23_containers/map_create_fill.cc: New.
	* testsuite/performance/26_numerics/complex_norm.cc: New.
	* testsuite/performance/27_io/cout_insert_int.cc: New.
	* testsuite/performance/27_io/filebuf_copy.cc: New.
	* testsuite/performance/27_io/filebuf_sputc.cc: New.
	* testsuite/performance/27_io/fstream_seek_write.cc: New.
	* testsuite/performance/27_io/ifstream_extract_float.cc: New.
	* testsuite/performance/27_io/ifstream_extract_int.cc: New.
	* testsuite/performance/27_io/ifstream_getline.cc: New.
	* testsuite/performance/27_io/ofstream_insert_float.cc: New.
	* testsuite/performance/27_io/ofstream_insert_int.cc: New.

From-SVN: r76974
2004-01-30 17:06:42 +00:00
Loren J. Rittle
f64f44069c check_performance: Only compile with $THREAD_FLAG when test is marked to require it.
* scripts/check_performance: Only compile with $THREAD_FLAG
	when test is marked to require it.  Allow multiple
	compilations/executions of marked tests.
	* testsuite/testsuite_performance.h (report_performance):
	Report dynamic thread support status.
	(report_header): Likewise.
	* testsuite/performance/allocator.cc: Stabilize iteration
	count.  Support more allocators.  Mark each allocator test to
	run and report independently.
	* testsuite/performance/allocator_map_thread.cc: Likewise.
	* testsuite/performance/allocator_thread.cc: Likewise.

From-SVN: r76932
2004-01-30 08:24:27 +00:00
Paolo Carlini
9c519c934c string_append.cc: Increase number of iterations.
2004-01-25  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/string_append.cc: Increase number
	of iterations.

From-SVN: r76551
2004-01-25 11:07:50 +00:00
Loren J. Rittle
402b0954be allocator_map_thread.cc: New test.
libstdc++/13823
	* testsuite/performance/allocator_map_thread.cc: New test.

From-SVN: r76398
2004-01-23 06:54:06 +00:00
Stefan Olsson
41f2472503 mt_allocator.h: Fixups.
2004-01-14  Stefan Olsson  <stefan@snon.net>

	* include/ext/mt_allocator.h: Fixups.
	* testsuite/performance/allocator.cc: Enable __mt_alloc tests.
	* testsuite/performance/allocator_thread.cc: Same.

From-SVN: r75875
2004-01-14 18:54:18 +00:00
Benjamin Kosnik
070ce57b95 ifstream_extract_float.cc: Add higher precision tests.
2
2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/ifstream_extract_float.cc: Add higher
	precision tests.
	* testsuite/performance/ofstream_insert_float.cc: Same.

From-SVN: r75841
2004-01-14 04:11:57 +00:00
Benjamin Kosnik
60af005f4b ifstream_extract_float.cc: New.
2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/ifstream_extract_float.cc: New.
	* testsuite/performance/ofstream_insert_float.cc: Float generation
	matches above.

	* 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
	* 20_util/auto_ptr/1.cc: ...this.
	* 20_util/auto_ptr/2.cc: Same.
	* 20_util/auto_ptr/3.cc: Same.
	* 20_util/auto_ptr/3946.cc: Same.
	* 20_util/auto_ptr/4.cc: Same.
	* 20_util/auto_ptr/5.cc: Same.
	* 20_util/auto_ptr/6.cc: Same.
	* 20_util/auto_ptr/7.cc: Same.
	* 20_util/auto_ptr/assign_neg.cc
	* 20_util/pairs.cc: Break into...
	* 20_util/pair/1.cc: ...this.
	* 20_util/pair/2.cc: Same.
	* 20_util/pair/3.cc: Same.
	* 20_util/pair/4.cc: Same.

From-SVN: r75811
2004-01-13 18:57:45 +00:00
Paolo Carlini
64cb2c4aed allocator.cc: Demangle typeid(obj).name().
2004-01-09  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/allocator.cc: Demangle typeid(obj).name().
	* testsuite/performance/allocator_thread.cc: Likewise.

From-SVN: r75571
2004-01-09 10:09:31 +00:00
Benjamin Kosnik
b61f9bf039 check_performance: Use -pthread.
2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
            Stefan Olsson  <stefan@snon.net>

	* scripts/check_performance: Use -pthread.
	* testsuite/performance/allocator.cc: Tweaks, add list.
	* testsuite/performance/allocator_thread.cc: New.

Co-Authored-By: Stefan Olsson <stefan@snon.net>

From-SVN: r75499
2004-01-07 05:59:19 +00:00
Benjamin Kosnik
d38d4e5d18 new_allocator.h (new_allocator): Proper allocator class.
2003-12-23  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/new_allocator.h (new_allocator): Proper allocator class.
	(__new_alloc): Delete.
	* include/ext/malloc_allocator.h (malloc_allocator): Same.
	(__malloc_alloc): Delete.
 	* include/ext/mt_allocator.h: Same, but weakly.
 	* include/ext/debug_allocator.h: Convert to the new style.
	* include/ext/pool_allocator.h: Use global new and delete directly.
	* include/backward/alloc.h: Don't inject malloc_allocator, or
	debug_allocator.
	* testsuite/ext/allocators.cc: Minimal fixups for usage of new
	classes.  Comment out tests with __pool_alloc for now.
	* testsuite/performance/allocator.cc: Same.

From-SVN: r74965
2003-12-23 07:24:57 +00:00
Paolo Carlini
cbf22cc549 container_benchmark.cc: Tweak outputs.
2003-12-17  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/container_benchmark.cc: Tweak outputs.

	* testsuite/performance/list_create_fill_sort.cc: Shrink a
	bit some outputs.

	* testsuite/testsuite_performance.h: Widen a few output fields.

	* testsuite/performance/ifstream_extract_int.cc: New.

From-SVN: r74738
2003-12-17 10:16:03 +00:00
Paolo Carlini
93cbdb1a0c container_benchmark.cc: New...
2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/container_benchmark.cc: New, a
	benchmark developed by Bjarne Stroustrup and Alexander
	Stepanov and made available with no restrictions.

	* testsuite/testsuite_performance.h (report_header): New,
	useful to produce header lines in the reports.

From-SVN: r74713
2003-12-16 22:44:19 +00:00
Paolo Carlini
b1660ae9ea narrow_widen_char.cc: Tweak the number of iterations for each test.
2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/narrow_widen_char.cc: Tweak the
	number of iterations for each test.
	* testsuite/performance/narrow_widen_wchar_t.cc: Add a
	missing clear_counters.

From-SVN: r74692
2003-12-16 13:25:23 +00:00
Paolo Carlini
9a1349b920 re PR libstdc++/11723 (ctype<wchar_t>::do_is(mask, wchar_t) is slow)
2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11723
	* include/bits/locale_facets.h: Add _M_bit and _M_wmask,
	used to speed up the computation of ctype::do_is.
	* config/locale/generic/ctype_members.cc
	(_M_initialize_ctype): Fill _M_bit and _M_wmask.
	(ctype::do_is): Use _M_bit and _M_wmask.
	* config/locale/gnu/ctype_members.cc: Likewise.
	* testsuite/performance/is_wchar_t.cc: New.

	* testsuite/performance/narrow_widen_wchar_t.cc: Tweak
	string literal (incorrect citation ;)

	* include/bits/locale_facets.h: Minor tweaks, const
	correctness, unsigned -> size_t.

From-SVN: r74686
2003-12-16 11:00:52 +00:00
Jerry Quinn
3fc63c15b4 ctype_noninline.h, [...] (ctype): Initialize _M_narrow, _M_widen.
2003-12-15  Jerry Quinn  <jlquinn@optonline.net>

        * config/os/aix/ctype_noninline.h,
	config/os/bsd/freebsd/ctype_noninline.h,
	config/os/bsd/netbsd/ctype_noninline.h,
	config/os/djgpp/ctype_noninline.h,
	config/os/generic/ctype_noninline.h,
	config/os/gnu-linux/ctype_noninline.h,
	config/os/hpux/ctype_noninline.h,
	config/os/irix/irix5.2/ctype_noninline.h,
	config/os/irix/irix6.5/ctype_noninline.h,
	config/os/mingw32/ctype_noninline.h,
	config/os/newlib/ctype_noninline.h,
	config/os/qnx/qnx6.1/ctype_noninline.h,
	config/os/solaris/solaris2.5/ctype_noninline.h,
	config/os/solaris/solaris2.6/ctype_noninline.h,
	config/os/solaris/solaris2.7/ctype_noninline.h,
	config/os/vxworks/ctype_noninline.h,
	config/os/windiss/ctype_noninline.h (ctype):  Initialize
	_M_narrow, _M_widen.
	* include/bits/locale_facets.h (_M_widen, _M_widen_ok,
	_M_narrow, _M_narrow_ok): New.
	(widen, narrow): Use tables to bypass virtual functions.
	(_M_widen_init, _M_narrow_init): New.

From-SVN: r74662
2003-12-16 01:57:03 +00:00
Paolo Carlini
ca13fb7f5d locale_facets.tcc (num_get::do_get(bool&)): Fail as soon as the begins of both truename and falsename stop to match...
2003-12-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::do_get(bool&)):
	Fail as soon as the begins of both truename and falsename
	stop to match; always leave __beg one position beyond the
	last char successfully matched.
	* testsuite/22_locale/num_get/get/char/8.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.

2003-12-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (_M_widen): Reserve space
	for all the possible widened chars.
	* config/locale/generic/ctype_members.cc (_M_initialize_ctype):
	Compute at construction time all the possible widened chars.
	(do_widen): Tweak, simplify.
	* config/locale/gnu/ctype_members.cc: Likewise.
	* testsuite/performance/narrow_widen_wchar_t.cc: Add tests
	for the array versions.

From-SVN: r74636
2003-12-15 16:56:42 +00:00
Paolo Carlini
e3c0c0989b re PR libstdc++/13341 (ctype<wchar_t>::do_narrow(wchar_t, char) is slow)
2003-12-12  Paolo Carlini  <pcarlini@suse.de>
	    Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/13341
	* include/bits/locale_facets.h (ctype<wchar_t>): Declare
	_M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
	* src/ctype.cc (ctype<wchar_t>::ctype(size_t),
	ctype<wchar_t>::ctype(__c_locale, size_t)): Use
	_M_initialize_ctype to fill _M_narrow and _M_widen.
	(ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
	Likewise.
	* config/locale/generic/ctype_members.cc (do_narrow, do_widen)
	Use _M_narrow and _M_widen when possible, instead of calling
	wctob and btowc, respectively.
	(_M_initialize_ctype): Define, it fills at construction time
	_M_narrow and _M_widen.
	* config/locale/gnu/ctype_members.cc: Likewise.
	* testsuite/performance/narrow_widen_wchar_t.cc: New.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r74580
2003-12-12 19:44:17 +00:00
Paolo Carlini
5af91f0690 codecvt_members.cc (codecvt::do_length): Rewrite, using both mbsnrtowcs and mbrtowc in a loop...
2003-11-25  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/codecvt_members.cc (codecvt::do_length):
	Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
	former is very fast, but stops if encounters a NUL.
	(codecvt::do_out): Tweaks.
	(codecvt::do_in): Tweaks, improve the code dealing with errors.
	* testsuite/performance/wchar_t_length.cc: New.

From-SVN: r73934
2003-11-25 21:41:28 +00:00
Paolo Carlini
3c8797ae81 codecvt_members.cc (codecvt::do_in): Rewrite, using both mbsnrtowcs and mbrtowc in a loop...
2003-11-24  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/codecvt_members.cc (codecvt::do_in):
	Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
	former is very fast, but stops if encounters a NUL.
	(codecvt::do_out): Tweak.
	* testsuite/performance/wchar_t_in.cc: New.

2003-11-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h
	(__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
	in order to avoid memory leaks; simplify a bit.

From-SVN: r73893
2003-11-24 21:13:38 +00:00
Paolo Carlini
0fd1870171 re PR libstdc++/11602 (codecvt<wchar_t, char, mbstate_t> is slow.)
2003-11-20  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11602
	* config/locale/gnu/codecvt_members.cc (codecvt::do_out):
	Rewrite, using both wcsnrtombs and wcrtomb in a loop: the
	former is very fast, but stops if encounters a NUL.
	* testsuite/performance/wchar_t_out.cc: New, from the PR.

From-SVN: r73769
2003-11-20 19:24:03 +00:00
Benjamin Kosnik
11f10e6b1f locale_facets.tcc: Tweak to avoid warnings.
2003-09-23  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc: Tweak to avoid warnings.
	* testsuite/testsuite_hooks.h: Same.
	* testsuite/*/*.cc: Same.

From-SVN: r71693
2003-09-23 20:03:30 +00:00
Benjamin Kosnik
aecf642c78 *: Change __gnu_cxx_test to __gnu_test.
2003-07-24  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/*: Change __gnu_cxx_test to __gnu_test.

From-SVN: r69761
2003-07-24 21:08:03 +00:00