3124 Commits

Author SHA1 Message Date
Paolo Carlini
8975fa18ad utility (tuple_size<std::pair<> >::value): Provide definition.
2006-10-30  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/utility (tuple_size<std::pair<> >::value): Provide
	definition.

From-SVN: r118207
2006-10-30 23:23:44 +00:00
Paolo Carlini
c8bf5b7c54 tuple_iterate.h (tuple_size<tuple<> >::value): Provide definition.
2006-10-30  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/tuple_iterate.h (tuple_size<tuple<> >::value): Provide
	definition.
	* include/tr1/functional (is_bind_expression<>::value,
	is_placeholder<>::value, + various partial specializations): Likewise.
	* include/tr1/array (tuple_size<array<> >::value): Likewise.

From-SVN: r118203
2006-10-30 22:22:38 +00:00
Paolo Carlini
a8db47cb58 re PR libstdc++/29520 (tr1: discrete_distributions vs large floating point values)
2006-10-29  Paolo Carlini  <pcarlini@suse.de>
	
	PR libstdc++/29520
	* include/tr1/random (geometric_distribution<>::
	operator()(_UniformRandomNumberGenerator&)): Only declare.
	* include/tr1/random.tcc (geometric_distribution<>::
	operator()(_UniformRandomNumberGenerator&),
	poisson_distribution<>::operator()(_UniformRandomNumberGenerator&),
	binomial_distribution<>::operator()(_UniformRandomNumberGenerator&)):
	Reject candidate floating point values not convertible to the
	result_type.

From-SVN: r118135
2006-10-29 10:49:07 +00:00
Paolo Carlini
e7457c3eac array (array<>::_M_at): New.
2006-10-28  Paolo Carlini  <pcarlini@suse.de>
	
	* include/tr1/array (array<>::_M_at): New.
	(array<>::at): Fix off-by-one bug, use the above.
	* testsuite/tr1/6_containers/array/element_access/
	at_out_of_range.cc: Adjust.

	* include/tr1/array (class array<>): Remove non-conforming default
	for the second parameter.
	* include/ext/array_allocator.h: Adjust.

	* include/tr1/array (array<>::front, array<>::back): Do not return
	a reference to memory not belonging to the array when _Nm == 0.

From-SVN: r118114
2006-10-28 22:02:44 +00:00
Paolo Carlini
b3b3633323 locale_facets.tcc (money_get<>::__do_get(iter_type, iter_type, bool, ios_base&, ios_base::iostate&, double&), [...]): Tidy.
2006-10-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get<>::__do_get(iter_type,
	iter_type, bool, ios_base&, ios_base::iostate&, double&),
	money_get<>::do_get(iter_type, iter_type, bool, ios_base&,
	ios_base::iostate&, long double&), money_get<>::do_get(iter_type,
	iter_type, bool, ios_base&, ios_base::iostate&, string_type&)): Tidy.

From-SVN: r117828
2006-10-17 16:43:47 +00:00
Paolo Carlini
8f407473ac re PR libstdc++/26020 (std::advance() isn't stable for floating point numbers)
2006-10-17  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/26020
	* include/bits/stl_iterator_base_funcs.h (advance): Convert
	distance parameter to iterator_traits<>::difference_type.
	* testsuite/24_iterators/26020.cc: New.

From-SVN: r117827
2006-10-17 15:17:32 +00:00
Benjamin Kosnik
4d79381119 random.tcc: Fixup long line.
2006-10-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1/random.tcc: Fixup long line.

From-SVN: r117825
2006-10-17 12:53:40 +00:00
Benjamin Kosnik
46db415941 re PR libstdc++/28514 (libstdc++ vs. anonymous namespaces)
2006-10-17  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/28514 
	* include/bits/cpp_type_traits.h (__detail): Uglify namespace.
	* include/ext/rope: Remove global-scope anonymous namespace, use
	nested __detail. Fixup resulting formatting issues.
	* include/ext/ropeimpl.h: Same.
	* include/tr1/hashtable_policy.h: Remove anonymous namespace
	nesting for __detail.
	* include/tr1/random: Revert anonymous namespace to nested
	__detail namespace.
	* include/tr1/random.tcc: Same.
	* src/ext-inst.cc: Fixups for above.

From-SVN: r117824
2006-10-17 11:56:21 +00:00
Douglas Gregor
499c96f56b Makefile.am (tr1_headers): Add new tuple_defs.h.
2006-10-16  Douglas Gregor  <doug.gregor@gmail.com>

	* include/Makefile.am (tr1_headers): Add new tuple_defs.h.
	* include/Makefile.in (tr1_headers): Regenerate.
	* include/tr1/tuple (tuple): Move declaration to tuple_defs.h.
	(get): Ditto.
	(operator==): Ditto.
	(operator<): Ditto.
	(operator!=): Ditto.
	(operator>): Ditto.
	(operator<=): Ditto.
	(operator>=): Ditto.
	(__stripped_tuple_type): Ditto.
	Include tuple.defs.h
	* include/tr1/tuple_iterate.h (tuple): Use
	_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED macro instead of 10
	"typename"s.
	(tuple_element): Use _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS and
	_GLIBCXX_TYPLE_ALL_TEMPLATE_ARGS instead of 10
	parameters/arguments.
	* include/tr1/tuple_defs.h: New header, contains declarations and
	definitions for the tuple template with all arguments.
	* include/tr1/repeat.h (_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS): New.
	(_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED): New.
	(_GLIBCXX_TUPLE_ALL_TEMPLATE_ARGS): New.
	(_GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS): New.
	(_GLIBCXX_TEMPLATE_ARGS_STRIPPED): New.
	* scripts/gen_includers.pl: Update.
	* scripts/gen_includers2.pl: New.

From-SVN: r117790
2006-10-16 19:08:22 +00:00
Jakub Jelinek
039f9e35a6 basic_string.tcc (_Rep::_S_create): Call _M_set_sharable() for backwards compatibility.
* include/bits/basic_string.tcc (_Rep::_S_create): Call
	_M_set_sharable() for backwards compatibility.

From-SVN: r117777
2006-10-16 11:51:14 +02:00
Paolo Carlini
70c99f6c02 istream.tcc (getline(basic_istream<>&, basic_string<>&)): Move...
2006-10-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/istream.tcc (getline(basic_istream<>&,
	basic_string<>&)): Move...
	* include/bits/basic_string.h: ... here.
	(operator<<(basic_ostream<>&, const basic_string<>&)): Mark inline.

From-SVN: r117745
2006-10-15 14:43:50 +00:00
Paolo Carlini
4fb1953207 ostream.tcc (operator<<(basic_ostream<>&, const char*)): Further fix for throwing widen.
2006-10-14  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/ostream.tcc (operator<<(basic_ostream<>&,
	const char*)): Further fix for throwing widen.

From-SVN: r117730
2006-10-14 10:25:35 +00:00
Paolo Carlini
78a438f161 ostream.tcc (operator<<(basic_ostream<>&, const char*)): Fix thinko in change for libstdc++/28277, avoid memory leaks.
2006-10-14  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/ostream.tcc (operator<<(basic_ostream<>&,
	const char*)): Fix thinko in change for libstdc++/28277,
	avoid memory leaks.

From-SVN: r117729
2006-10-14 09:51:32 +00:00
Paolo Carlini
f7ab3fd1dc istream.tcc (operator>>(__istream_type& (*)(__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)), operator>>(ios_base& (*)(ios_base&))): Move...
2006-10-13  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/istream.tcc (operator>>(__istream_type&
	(*)(__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
	operator>>(ios_base& (*)(ios_base&))): Move...
	* include/std/std_istream.h: ... here.
	(operator>>(basic_istream<char,>&, unsigned char&),
	operator>>(basic_istream<char,>&, signed char&),
	operator>>(basic_istream<char,>&, unsigned char*),
	operator>>(basic_istream<char,>&, signed char*)): Mark inline.
	* include/bits/ostream.tcc (operator<<(__ostream_type&
	(*)(__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
	operator<<(ios_base& (*)(ios_base&))): Move...
	* include/std/std_ostream.h: ... here.
	(operator<<(basic_ostream<>&, _CharT),
	operator<<(basic_ostream<>&, char),
	operator<<(basic_ostream<char,>&, char),
	operator<<(basic_ostream<char,>&, signed char),
	operator<<(basic_ostream<char,>&, unsigned char),
	operator<<(basic_ostream<>&, const _CharT*),
	operator<<(basic_ostream<char,>&, const char*),
	operator<<(basic_ostream<char,>&, const signed char*),
	operator<<(basic_ostream<char,>&, const unsigned char*),
	endl(basic_ostream<>&), ends(basic_ostream<>&),
	flush(basic_ostream<>&)): Mark inline.

From-SVN: r117715
2006-10-13 22:46:58 +00:00
Paolo Carlini
ec2061a9bf PR libstdc++/28277 (partial: ostream bits 2)
2006-10-13  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28277 (partial: ostream bits 2)
	* include/std/std_ostream.h (basic_ostream<>::_M_insert(const
	char_type*, streamsize)): New.
	(basic_ostream<>::_M_write(char_type, streamsize)): Likewise.
	(operator<<(basic_ostream<>&, _CharT), operator<<(basic_ostream<>&,
	char), operator<<(basic_ostream<>&, const _CharT*),
	operator<<(basic_ostream<>&, const char*)): Use the latter.
	* include/bits/ostream.tcc (basic_ostream<>::_M_insert(const
	char_type*, streamsize)): Define.
	(operator<<(basic_ostream<>&, const char*)): Use the latter.
	(operator<<(basic_ostream<>&, _CharT), operator<<(basic_ostream<>&,
	char), operator<<(basic_ostream<>&, const _CharT*),
	operator<<(basic_ostream<>&, const char*),
	operator<<(basic_ostream<>&, const basic_string<>&)): Remove.
	* include/bits/basic_string.h (operator<<(basic_ostream<>&,
	const basic_string<>&)): Use the latter, implement DR 586.
	* config/abi/pre/gnu.ver: Adjust, export the new _M_insert.
	* docs/html/ext/howto.html: Add an entry for DR 586.
	* testsuite/21_strings/basic_string/inserters_extractors/char/
	28277.cc: New.
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
	28277.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/
	28277-3.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/
	28277-4.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
	28277-2.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
	28277-3.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
	28277-4.cc: Likewise.

From-SVN: r117689
2006-10-13 09:00:31 +00:00
Paolo Carlini
a484326f89 PR libstdc++/28277 (partial: __add_grouping)
2006-10-09  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28277 (partial: __add_grouping)
	* include/bits/locale_facets.tcc (__add_grouping<>(_CharT*, _CharT,
	const char*, size_t, const _CharT*, const _CharT*)): Rewrite in
	non-recursive form.

From-SVN: r117581
2006-10-09 18:04:18 +00:00
Paolo Carlini
c9a5bd5421 PR libstdc++/28277 (partial: money_put bits)
2006-10-09  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28277 (partial: money_put bits)
	* include/bits/locale_facets.tcc (money_put<>::_M_insert(iter_type,
	ios_base&, char_type, const string_type&)): Avoid __builtin_alloca
	with no limit, do the work in place.

	* include/bits/locale_facets.tcc (money_put<>::do_put(iter_type,
	bool, ios_base&, char_type, long double)): Avoid unnecessary
	__builtin_alloca, do the work in place.

From-SVN: r117571
2006-10-09 10:49:50 +00:00
Paolo Carlini
dc2a079607 PR libstdc++/28277 (partial: money_get bits)
2006-10-07  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/28277 (partial: money_get bits)
	* include/bits/locale_facets.tcc (money_get<>::do_get(iter_type,
	iter_type, bool, ios_base&, ios_base::iostate&, string_type&)):
	Avoid __builtin_alloca with no limit, do the work in place.

From-SVN: r117549
2006-10-08 01:13:03 +00:00
Ion Gaztanaga
55ce980dc2 stl_tree.h (_Rb_tree<>::erase(const _Key&)): Don't call std::distance unnecessarily.
2006-10-07  Ion Gaztanaga  <igaztanaga@gmail.com>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_tree.h (_Rb_tree<>::erase(const _Key&)): Don't
	call std::distance unnecessarily.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r117529
2006-10-07 08:20:35 +00:00
Paolo Carlini
9f23fee697 re PR libstdc++/29368 (wrong STL docs for rfind())
2006-10-06  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29368
	* include/bits/basic_string.h: Adjust rfind documentation.
	* include/ext/vstring.h: Likewise.

From-SVN: r117496
2006-10-06 11:47:56 +00:00
Paolo Carlini
bcf0248a99 re PR libstdc++/29354 (Error when seeking on an ostringstream)
2006-10-06  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29354
	* include/bits/sstream.tcc (basic_stringbuf<>::seekpos(pos_type,
	ios_base::openmode)): Allow for seek to pos_type(off_type(0))
	when the stream is empty.
	* testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: New.
	* testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: New.

From-SVN: r117494
2006-10-06 09:57:43 +00:00
Paolo Carlini
1c846af9c5 rc_string_base.h (_M_compare<wchar_t>): Protect with _GLIBCXX_USE_WCHAR_T.
2006-10-02  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/rc_string_base.h (_M_compare<wchar_t>):
	Protect with _GLIBCXX_USE_WCHAR_T.
	* include/ext/sso_string_base.h (_M_compare<wchar_t>):
	Likewise.
	(__sso_string_base<>::_M_destroy): Inline.

From-SVN: r117373
2006-10-02 16:09:19 +00:00
Benjamin Kosnik
1f1a03efff basic_types.hpp (comp_hash_): Remove, format.
2006-10-02  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/detail/basic_types.hpp (comp_hash_): Remove,
	format.	
	* include/ext/pb_ds/detail/types_traits.hpp
	(types_traits::comp_hash): Use pair typedef.	
	* include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.

From-SVN: r117371
2006-10-02 14:53:41 +00:00
Paolo Carlini
276116fdcc random (xor_combine<>::_M_initialize_max_aux): New.
2006-10-01  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/random (xor_combine<>::_M_initialize_max_aux): New.
	(xor_combine<>::operator()()): Tweak per N2079.
	* include/tr1/random.tcc (xor_combine<>::_M_initialize_max_aux):
	Define.
	(xor_combine<>::_M_initialize_max): Use it.
	* testsuite/tr1/5_numerical_facilities/random/xor_combine/
	cons/default.cc: Adjust.
	* docs/html/ext/tr1.html: Adjust.

From-SVN: r117353
2006-10-02 00:12:50 +00:00
Paolo Carlini
56f61bfff3 type_traits.h: Avoid _T, badname for some targets; also avoid plain T.
2006-10-01  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/type_traits.h: Avoid _T, badname for some targets;
	also avoid plain T.

From-SVN: r117347
2006-10-01 10:39:16 +00:00
Benjamin Kosnik
10d2ebc511 types_traits.hpp (store_extra_false_type): To false_type.
2006-09-30  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/detail/types_traits.hpp (store_extra_false_type):
	To false_type.
	(store_extra_true_type): To true_type.
	(no_throw_copies_true_type): To true_type.
	(no_throw_copies_false_type): To false_type.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	insert_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	resize_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	insert_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	entry_list_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	debug_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	debug_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	resize_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	insert_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	resize_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	insert_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	find_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	debug_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	debug_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	resize_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.

From-SVN: r117329
2006-09-30 10:25:12 +00:00
Benjamin Kosnik
beb5d0f44c constructor_destructor_no_store_hash_fn_imps.hpp: Formating fixes.
2006-09-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_no_store_hash_fn_imps.hpp: Formating fixes.
	* include/ext/pb_ds/detail/basic_tree_policy/
	null_node_metadata.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Same.
	* include/ext/pb_ds/detail/basic_types.hpp: Same.
	* include/ext/pb_ds/detail/list_update_policy/
	mtf_lu_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/list_update_policy/
	counter_lu_metadata.hpp: Same.
	* include/ext/pb_ds/detail/list_update_policy/
	sample_update_policy.hpp: Same.
	* include/ext/pb_ds/detail/list_update_policy/
	counter_lu_policy_imp.hpp: Same.
	* include/ext/pb_ds/list_update_policy.hpp: Same.

From-SVN: r117328
2006-09-30 00:39:20 +00:00
Benjamin Kosnik
3454c18fb5 type_traits.h (__remove_unsigned): Fix up for signed char, bool, wchar_t, and floating point types.
2006-09-29  Benjamin Kosnik  <bkoz@redhat.com>
            Howard Hinnant  <hhinnant@apple.com>
            Paolo Carlini  <pcarlini@suse.de>

	* include/ext/type_traits.h (__remove_unsigned): Fix up for signed
	char, bool, wchar_t, and floating point types.
	(__add_unsigned): Same.	
	* testsuite/ext/type_traits: New.
	* testsuite/ext/type_traits.cc: Move...
	* testsuite/ext/type_traits/numeric_traits.cc: ...here.	
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: New.
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: New.
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: New.
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: New.
	* testsuite/ext/type_traits/add_unsigned.cc: New.
	* testsuite/ext/type_traits/remove_unsigned.cc: New.
	

Co-Authored-By: Howard Hinnant <hhinnant@apple.com>
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r117303
2006-09-29 13:38:58 +00:00
Paolo Carlini
8072ddb088 stl_uninitialized.h (__uninitialized_fill_n_a(_ForwardIterator, _Size, const _Tp&, allocator<>)): Inline.
2006-09-28  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_uninitialized.h
	(__uninitialized_fill_n_a(_ForwardIterator, _Size, const _Tp&,
	allocator<>)): Inline.

From-SVN: r117285
2006-09-28 18:55:21 +00:00
Benjamin Kosnik
1b24692f65 erase_store_hash_fn_imps.hpp: Formatting fixes.
2006-09-28  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_store_hash_fn_imps.hpp: Formatting fixes.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	insert_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	resize_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	insert_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	entry_list_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	find_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	debug_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	cond_key_dtor_entry_dealtor.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	debug_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	resize_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/head.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	erase_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	insert_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	resize_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	insert_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	iterator_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	find_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	find_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	debug_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	erase_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	resize_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/
	policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/
	constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/node.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/traits.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/
	entry_metadata_base.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/
	iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/
	constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/traits.hpp: Same.

From-SVN: r117281
2006-09-28 13:40:07 +00:00
Paolo Carlini
4553813629 boost_shared_ptr.h: Use __atomic_add_dispatch and __exchange_and_add_dispatch everywhere.
2006-09-28  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/boost_shared_ptr.h: Use __atomic_add_dispatch and
	__exchange_and_add_dispatch everywhere.

From-SVN: r117280
2006-09-28 12:57:47 +00:00
Benjamin Kosnik
3441f1062c typelist.h (type_to_type): Remove.
2006-09-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/typelist.h (type_to_type): Remove.
	* include/ext/throw_allocator.h (assert_allocatod): Remove.
	(check_allocated(label)): New.
	(print_to_string): Print numerical output correctly.

	* testsuite/ext/pb_ds/example/hash_resize_neg.cc: Adjust line numbers.

	* testsuite/util/regression/rand/priority_queue/detail/
	operator_fn_imps.hpp: Set and clear label, throw
        probability. Check only allocations of the marked label.
	* testsuite/util/regression/rand/assoc/detail/
	operator_fn_imps.hpp: Same.

	* testsuite/performance/ext/pb_ds/text_find_timing.cc: Adjustments for
        removal of type_to_type.
	* testsuite/performance/ext/pb_ds/
	hash_random_int_erase_mem_usage.cc: Same.
	* testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_push_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	random_int_subscript_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/random_int_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	multimap_text_insert_mem_usage.hpp: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_random_int_push_timing.cc: Same.
	* 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: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_push_pop_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_join_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_random_int_push_pop_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	random_int_subscript_insert_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	multimap_text_insert_timing.hpp: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_pop_mem_usage.cc: Same.
	* testsuite/performance/ext/pb_ds/
	hash_zlob_random_int_find_timing.cc: Same. 
	* 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/detail/
	constructor_destructor_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/insert_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.hpp: Same.
	* testsuite/util/regression/assoc/common_type.hpp: Same.
	* testsuite/util/regression/basic_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/common_type/assoc/native_set.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/
	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/util/testsuite_common_types.h: Same.

	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_no_store_hash_fn_imps.hpp: Typedef
        normalization, consistency in member names between cc and gp hash
        tables, formatting fixes.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	insert_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	insert_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	erase_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	insert_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	insert_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	erase_no_store_hash_fn_imps.hpp: Same.

	* include/ext/pb_ds/assoc_container.hpp: Formatting fixes.
	* include/ext/pb_ds/detail/resize_policy/
	hash_prime_size_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	hash_standard_resize_policy_imp.hpp: Same.
	* include/ext/pb_ds/detail/types_traits.hpp: Same.
	* include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/
	direct_mod_range_hashing_imp.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/
	direct_mask_range_hashing_imp.hpp: Same.

From-SVN: r117268
2006-09-28 01:23:58 +00:00
Howard Hinnant
21c9e2b609 re PR libstdc++/29224 (-Wshadow causing warning in <tr1/functional>)
2006-09-26  Howard Hinnant  <hhinnant@apple.com>

	PR libstdc++/29224
	* include/tr1/functional_iterate.h: Avoid -Wshadow warnings.

From-SVN: r117222
2006-09-26 00:59:37 +00:00
Paolo Carlini
47de6f6d2a re PR libstdc++/29179 (bugs in mt_allocator)
2006-09-25  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29179
	* include/ext/mt_allocator.h (__pool_base): Adjust/extend
	documentation in comments.

From-SVN: r117193
2006-09-25 10:05:27 +00:00
Paolo Carlini
c8bd30ddb3 boost_shared_ptr.h (shared_ptr<>::shared_ptr(const __shared_ptr<>&), [...]): Remove.
2006-09-24  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/boost_shared_ptr.h (shared_ptr<>::shared_ptr(const
	__shared_ptr<>&), shared_ptr(const __weak_ptr<>&),
	shared_ptr(const __shared_ptr<>&, __static_cast_tag),
	shared_ptr(const __shared_ptr<>&, __const_cast_tag),
	shared_ptr(const __shared_ptr<>&, __dynamic_cast_tag),
	weak_ptr<>::weak_ptr(const __shared_ptr<>&), weak_ptr(const
	__weak_ptr<>&)): Remove.
	(shared_ptr<>::shared_ptr(const shared_ptr<>&),
	shared_ptr(const weak_ptr<>&), shared_ptr(const shared_ptr<>&,
	__static_cast_tag), shared_ptr(const shared_ptr<>&,
	__const_cast_tag), shared_ptr(const shared_ptr<>&,
	__dynamic_cast_tag), static_pointer_cast(const shared_ptr<>&),
	const_pointer_cast(const shared_ptr<>&), dynamic_pointer_cast(const
	shared_ptr<>&), weak_ptr<>::weak_ptr(const shared_ptr<>&),
	weak_ptr(const weak_ptr<>&), weak_ptr<>::lock(), 
	__enable_shared_from_this_helper(const __shared_count<>&, const
	enable_shared_from_this<>*, const _Tp2*)): Add. 
	(class enable_shared_from_this): Add.
	* testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/
	1.cc: New.
	* testsuite/tr1/2_general_utilities/memory/shared_ptr/casts/1.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/memory/weak_ptr/lock/1.cc:
	Likewise.

	* include/tr1/boost_shared_ptr.h: Further formatting and
	uglification fixes.

From-SVN: r117184
2006-09-24 19:42:34 +00:00
Paolo Carlini
3b83e64bd3 PR libstdc++/29134 (vector<bool> bits)
2006-09-22  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29134 (vector<bool> bits)
	* include/bits/stl_bvector.h (vector<bool>::max_size):
	Use allocator' max_size.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: New.

	* testsuite/23_containers/deque/capacity/29134-2.cc: Minor tweak.
	* testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.

From-SVN: r117148
2006-09-22 17:51:01 +00:00
Paolo Carlini
dcd400b56f type_traits (add_reference): Robustify vs reference to void.
2006-09-22  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (add_reference): Robustify vs
	reference to void.
	* testsuite/tr1/4_metaprogramming/reference_modifications/
	add_reference.cc: Add test.

	* include/tr1/memory: include <tr1/type_traits>.
	* include/tr1/boost_shared_ptr.h (__shared_ptr<>::operator*):
	Use add_reference instead.
	* testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/
	explicit_instantiation/1.cc: New.
	* testsuite/tr1/2_general_utilities/memory/shared_ptr/
	explicit_instantiation/1.cc: Likewise.
	* testsuite/tr1/2_general_utilities/memory/weak_ptr/
	explicit_instantiation/1.cc: Likewise.

	* testsuite/util/testsuite_tr1.h: Tweak; avoid empty enum.

	* include/tr1/type_traits_fwd.h: Spelling fix.

	* include/tr1/boost_shared_ptr.h: Obvious stylistic fixes.

From-SVN: r117147
2006-09-22 15:54:52 +00:00
Paolo Carlini
459f9f82ec boost_shared_ptr.h: Trivial formatting fixes.
2006-09-22  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/boost_shared_ptr.h: Trivial formatting fixes.

From-SVN: r117145
2006-09-22 14:22:21 +00:00
Benjamin Kosnik
a1adedd03b type_traits.h (__numeric_traits_integer): New.
2006-09-21  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/type_traits.h (__numeric_traits_integer): New.
	(__numeric_traits_floating): New.
	(__numeric_traits): Use them.
	* testsuite/ext/type_traits.cc: New.

From-SVN: r117119
2006-09-21 20:07:10 +00:00
Paolo Carlini
7ffb61d503 hash_map: Remove forward declaration of equality operator...
2006-09-21  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/hash_map: Remove forward declaration of equality
	operator, not needed for friendship of all its instances.
	* include/ext/hash_set: Likewise.
	* include/bits/stl_set.h: Likewise for equality operator and
	operator less.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_queue.h: Likewise.
	* include/bits/stl_stack.h: Likewise.
	* include/bits/streambuf_iterator.h: Likewise for copy.
	* include/std/std_streambuf.h: Likewise for __copy_aux and find.
	* include/tr1/boost_shared_ptr.h: Likewise for get_deleter.
	* include/tr1/random: Likewise, remove all forward declarations
	of inserters and extractors.

From-SVN: r117116
2006-09-21 17:54:50 +00:00
Paolo Carlini
6c331f73fb sso_string_base.h (__sso_string_base<>::_M_max_size(), [...]): Use _M_get_allocator.
2006-09-21  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/sso_string_base.h (__sso_string_base<>::_M_max_size(),
	_M_destroy, _M_create): Use _M_get_allocator.

From-SVN: r117111
2006-09-21 13:39:38 +00:00
Paolo Carlini
3ad7074772 PR libstdc++/29134 (ext/vstring bits)
2006-09-21  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29134 (ext/vstring bits)
	* include/ext/sso_string_base.h (__sso_string_base<>::_S_max_size):
	Remove.
	(__sso_string_base<>::_M_max_size): Use allocator' max_size.
	(__sso_string_base<>::_M_create): Adjust.
	* include/ext/vstring.h: Minor comment tweak.
	* testsuite/ext/vstring/capacity/29134.cc: New.

From-SVN: r117109
2006-09-21 10:34:48 +00:00
Paolo Carlini
1f9c69a9a3 re PR libstdc++/29134 (Has there been a serious attempt to define the max_size() member functions?)
2006-09-20  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29134
	* include/bits/stl_list.h (list<>::max_size): Forward to allocator'
	max_size.
	* include/bits/stl_vector.h (vector<>::max_size): Likewise.
	* include/bits/stl_deque.h (deque<>::max_size): Likewise.
	* include/bits/stl_tree.h (_Rb_tree<>::max_size): Likewise.
	* include/tr1/hashtable (_Hashtable<>::max_size): Likewise.
	* testsuite/23_containers/vector/capacity/29134.cc: Add.
	* testsuite/23_containers/deque/capacity/29134.cc: Likewise.
	* testsuite/23_containers/list/capacity/29134.cc: Likewise.
	* testsuite/23_containers/set/capacity/29134.cc: Likewise.
	* testsuite/23_containers/map/capacity/29134.cc: Likewise.
	* testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
	* testsuite/23_containers/multimap/capacity/29134.cc: Likewise.	
	* testsuite/tr1/6_containers/unordered/capacity/29134-set.cc: Likewise.
	* testsuite/tr1/6_containers/unordered/capacity/29134-map.cc: Likewise.
	* testsuite/tr1/6_containers/unordered/capacity/29134-multiset.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered/capacity/29134-multimap.cc:
	Likewise.

	* include/bits/deque.tcc (deque<>::_M_new_elements_at_front,
	deque<>::_M_new_elements_at_back): Check for length errors.
	* testsuite/23_containers/deque/capacity/29134-2.cc: New.
	* testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.

	* include/tr1/hashtable (_Hashtable<>::_M_get_Value_allocator): Add.
	(_Hashtable<>::_M_allocate_node, _M_deallocate_node): Use it.
	* testsuite/tr1/6_containers/unordered/instantiate/set.cc: Add test.
	* testsuite/tr1/6_containers/unordered/instantiate/map.cc: Likewise.
	* testsuite/tr1/6_containers/unordered/instantiate/multiset.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered/instantiate/multimap.cc:
	Likewise.

From-SVN: r117099
2006-09-21 00:11:52 +00:00
Benjamin Kosnik
d7f245b19d typelist_assoc_container.hpp: Remove, unused.
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.

From-SVN: r117081
2006-09-20 13:49:46 +00:00
Paolo Carlini
95cefe5f0e hashtable_policy.h: Uglify all the names.
2006-09-19  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/hashtable_policy.h: Uglify all the names.
	* include/tr1/hashtable: Likewise.
	* include/tr1/unordered_map: Likewise.
	* include/tr1/unordered_set: Likewise.
	* include/tr1/functional: Uglify struct hash names.
	* include/tr1/cmath: Uglify namespace detail to __detail.

From-SVN: r117052
2006-09-19 09:07:56 +00:00
Benjamin Kosnik
a86151e10b res_mng: Remove.
2006-09-18  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/regression/res_mng: Remove.
	* testsuite/util/regression/res_mng/dbg_ex_allocator_base.cc: Merge..
	* testsuite/util/regression/res_mng/forced_exception.hpp: Merge...
	* testsuite/util/regression/res_mng/dbg_ex_allocator_base.hpp: Merge..
	* testsuite/util/regression/res_mng/dbg_ex_allocator.hpp: Merge..
	* testsuite/util/testsuite_allocator.h (throw_allocator): Merge...
	* include/ext/throw_allocator.h (throw_allocator): ... into this.
	* src/throw_allocator.cc: ...and this.
	* include/Makefile.am (ext_headers): Add.
	* include/Makefile.in: Regenerate.	
	* src/Makefile.am (sources): New.
	* src/Makefile.in: Regenerate.
	* testsuite/lib/libstdc++.exp: Subtract dbg_ex_allocator_base.cc.

	* include/ext/pb_ds/detail/map_debug_base.hpp: Adjust
	includes, names, and namespaces.
	* testsuite/23_containers/list/modifiers/insert/25288.cc: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	erase_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	constructor_destructor_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	insert_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	modify_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	split_join_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	operator_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/
	subscript_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/
	operator_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/erase_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/
	constructor_destructor_fn_imps.hpp
	* testsuite/util/regression/rand/assoc/detail/insert_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/
	split_join_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.hpp: Same.
	* testsuite/util/regression/priority_queue/common_type.hpp: Same.
	* testsuite/util/regression/assoc/common_type.hpp: Same.
	* testsuite/util/regression/basic_type.hpp: Same.
	* testsuite/util/rng/twister_rand_gen.cc: Tweak.

From-SVN: r117050
2006-09-19 02:33:21 +00:00
Paolo Carlini
17cdf08234 locale_facets.tcc (_M_group_int): Remove redundant using-declaration.
2006-09-18  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (_M_group_int): Remove
	redundant using-declaration.

From-SVN: r117028
2006-09-18 16:05:25 +00:00
Benjamin Kosnik
cbe5ba46e0 typelist.h (cond_type): Remove, use __conditional_type.
2006-09-18  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/typelist.h (cond_type): Remove, use __conditional_type.

From-SVN: r117025
2006-09-18 13:57:19 +00:00
Benjamin Kosnik
105c6331b2 type_traits.h: New.
2006-09-18  Benjamin Kosnik  <bkoz@redhat.com>
	    Peter Doerfler  <gcc@pdoerfler.com>
	    Paolo Carlini  <pcarlini@suse.de>
	
	* include/ext/type_traits.h: New. 
	(__conditional_type): New.
	(__numeric_traits): New.
	(__add_unsigned): New.
	(__remove_unsigned): New.
	(__enable_if): New.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* include/ext/pb_ds/detail/type_utils.hpp: Use ext include,
	remove duplicates.
	* include/tr1/hashtable_policy.h (IF): Use __conditional_type.
	(_Max_digits10): Same.
	(identity): Use _Identity.
	(extract1st): Use _Select1st.
	* include/tr1/random (_Select): Use __conditional_type.
	(_To_Unsigned_Type): Use __add_unsigned. Linebreak fixups.
	* include/bits/locale_facets.tcc (__to_unsigned_type): Remove, use
	__add_unsigned.
	* include/tr1/random.tcc: Fixups as above.
	* include/tr1/unordered_map: Same.
	* include/tr1/hashtable: Same.
	* include/tr1/unordered_set: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	standard_policies.hpp: Same.
	* include/ext/pb_ds/detail/standard_policies.hpp: Same.
	* include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
	* include/ext/pb_ds/detail/type_utils.hpp: Same.
	* include/ext/pb_ds/trie_policy.hpp: Same.
	* docs/html/ext/pb_ds/string_trie_e_access_traits.html: Same.
	
	* include/bits/cpp_type_traits.h (__enable_if): Move to ext, make
	boolean argument first.	
	* include/bits/locale_facets.h: Fixups for __enable_if argument
	and namespace switch.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/streambuf_iterator.h: Same.
	* include/debug/safe_iterator.h: Same.
	* include/tr1/hashtable_policy.h: Same.
	* include/tr1/cmath: Same.
	* include/tr1/functional: Same.
	* include/tr1/functional_iterate.h: Same.
	* include/std/std_streambuf.h: Same.
	* include/c_std/std_cmath.h: Same.
	* testsuite/util/testsuite_tr1.h: Same.
	* testsuite/util/performance/assoc/multimap_common_type.hpp: Same.


Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
Co-Authored-By: Peter Doerfler <gcc@pdoerfler.com>

From-SVN: r117024
2006-09-18 13:30:56 +00:00
Paolo Carlini
bcc4a44f6b re PR libstdc++/29063 (valarray does not undefine all temp macros)
2006-09-18  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/29063
	* include/bits/valarray_array.h: Fix typo, undefine
	_DEFINE_ARRAY_FUNCTION.
	* include/std/std_valarray.h: Undefine _DEFINE_BINARY_OPERATOR.

From-SVN: r117019
2006-09-18 09:19:36 +00:00