gcc/libstdc++-v3/include/bits
Paolo Carlini 4a85780b75 re PR libstdc++/41622 ([DR 1245] [c++0x] std::hash<std::string>::operator() copies its argument)
2009-11-19  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41622
	* include/bits/functional_hash.h: Implement inline the various
	std::hash specializations, using, when appropriate, pass by
	const ref too, per DR 1245.
	* include/tr1_impl/functional_hash.h: Remove, move its contents...
	* include/tr1/functional_hash.h: ... here.
	* include/std/functional: Tweak includes.
	* src/hash_c++0x: Rename to...
	* src/compatibility-c++0x.cc: ... this, implementing compatibility
	std::hash<>::operator() specializations.
	* src/hash.cc: Do not mark specializations as throw().
	* src/Makefile.am: Adjust.
	* include/Makefile.am: Likewise.
	* src/Makefile.in: Regenerate.
	* include/Makefile.in: Likewise.
	* testsuite/util/testsuite_api.h: Define a dummy hash for
	NonDefaultConstructible.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/2.cc: Use it.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/2.cc: Likewise.

From-SVN: r154335
2009-11-19 16:55:25 +00:00
..
algorithmfwd.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
allocator.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
atomic_0.h re PR libstdc++/40654 ([C++0x] atomic.cc: 'd' is used uninitialized warning) 2009-10-16 07:47:33 +00:00
atomic_2.h re PR libstdc++/40654 ([C++0x] atomic.cc: 'd' is used uninitialized warning) 2009-10-16 07:47:33 +00:00
atomicfwd_c.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
atomicfwd_cxx.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
basic_ios.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
basic_ios.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
basic_string.h basic_string.h (to_string(int), [...]): Add, per resolution of DR 1261. 2009-11-11 19:57:48 +00:00
basic_string.tcc re PR libstdc++/41773 (Many libstdc++ failures) 2009-10-20 21:54:22 +00:00
boost_concept_check.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
c++config c++config: Do not disable extern templates for string in plain parallel-mode and in... 2009-10-14 23:50:09 +00:00
char_traits.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
codecvt.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
concept_check.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
cpp_type_traits.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
deque.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
forward_list.h forward_list.h (forward_list<>::erase_after): Change signature per N2988, return void; simplify. 2009-11-13 22:41:49 +00:00
forward_list.tcc forward_list.h (forward_list<>::erase_after): Change signature per N2988, return void; simplify. 2009-11-13 22:41:49 +00:00
fstream.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
functexcept.h future: Fixes for -fno-exceptions. 2009-08-10 18:24:47 +00:00
functional_hash.h re PR libstdc++/41622 ([DR 1245] [c++0x] std::hash<std::string>::operator() copies its argument) 2009-11-19 16:55:25 +00:00
gslice_array.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gslice.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
hashtable.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
indirect_array.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
ios_base.h condition_variable.cc (condition_variable, [...]): Mark throw() 2009-04-18 21:19:18 +00:00
istream.tcc revert: compatibility.cc: Make C++0x safe, add in explicit casts to bool for stream sentry objects. 2009-09-05 00:18:07 +00:00
list.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
locale_classes.h re PR libstdc++/40184 (locale(const char* std_name) can create invalid facets for nonuniform locale) 2009-05-19 18:20:47 +00:00
locale_classes.tcc condition_variable.cc (condition_variable, [...]): Mark throw() 2009-04-18 21:19:18 +00:00
locale_facets_nonio.h condition_variable.cc (condition_variable, [...]): Mark throw() 2009-04-18 21:19:18 +00:00
locale_facets_nonio.tcc re PR libstdc++/40712 (locale(const locale&, const char*, locale::category) can create broken locale) 2009-07-18 22:58:10 +00:00
locale_facets.h condition_variable.cc (condition_variable, [...]): Mark throw() 2009-04-18 21:19:18 +00:00
locale_facets.tcc re PR libstdc++/40712 (locale(const locale&, const char*, locale::category) can create broken locale) 2009-07-18 22:58:10 +00:00
localefwd.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
mask_array.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
move.h type_traits (declval): Add, per DR 1255. 2009-11-13 02:25:12 +00:00
ostream_insert.h revert: compatibility.cc: Make C++0x safe, add in explicit casts to bool for stream sentry objects. 2009-09-05 00:18:07 +00:00
ostream.tcc revert: compatibility.cc: Make C++0x safe, add in explicit casts to bool for stream sentry objects. 2009-09-05 00:18:07 +00:00
postypes.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
random.h random.h: Fix typo in static_assert text. 2009-10-30 21:31:23 +00:00
random.tcc random.tcc: Define static const data members. 2009-09-30 00:50:24 +00:00
shared_ptr_base.h user.cfg.in: Adjust includes. 2009-11-06 22:15:17 +00:00
shared_ptr.h user.cfg.in: Adjust includes. 2009-11-06 22:15:17 +00:00
slice_array.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
sstream.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_algo.h stl_algobase.h: Include the full <utility>, per UK-300. 2009-11-12 18:45:23 +00:00
stl_algobase.h algorithm: Include <utility>, per UK-300. 2009-11-13 15:06:28 +00:00
stl_bvector.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_construct.h stl_construct.h: Include <bits/move.h>. 2009-08-29 19:35:21 +00:00
stl_deque.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_function.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_heap.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_iterator_base_funcs.h stl_iterator_base_funcs.h: (next): Change template parameter name consistently with the resolution of DR... 2009-10-28 13:07:00 +00:00
stl_iterator_base_types.h user.cfg.in: Adjust includes. 2009-11-06 22:15:17 +00:00
stl_iterator.h user.cfg.in: Adjust includes. 2009-11-06 22:15:17 +00:00
stl_list.h forward_list.h (splice_after): Use forward. 2009-07-31 22:26:32 -04:00
stl_map.h stl_tree.h: Make erase return iterator as per DR 130. 2009-08-14 17:54:44 +00:00
stl_multimap.h stl_tree.h: Make erase return iterator as per DR 130. 2009-08-14 17:54:44 +00:00
stl_multiset.h stl_tree.h: Make erase return iterator as per DR 130. 2009-08-14 17:54:44 +00:00
stl_numeric.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_pair.h PR libstdc++/40925 (again) 2009-10-30 02:29:14 +00:00
stl_queue.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_raw_storage_iter.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_relops.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_set.h stl_tree.h: Make erase return iterator as per DR 130. 2009-08-14 17:54:44 +00:00
stl_stack.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_tempbuf.h user.cfg.in: Adjust includes. 2009-11-06 22:15:17 +00:00
stl_tree.h stl_tree.h: Make erase return iterator as per DR 130. 2009-08-14 17:54:44 +00:00
stl_uninitialized.h 2009-09-02 Paolo Carlini <paolo.carlini@oracle.com> 2009-09-02 14:49:58 +00:00
stl_vector.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stream_iterator.h user.cfg.in: Adjust includes. 2009-11-06 22:15:17 +00:00
streambuf_iterator.h user.cfg.in: Adjust includes. 2009-11-06 22:15:17 +00:00
streambuf.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stringfwd.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unique_ptr.h functional (function): Use explicit operator bool. 2009-05-21 01:12:00 +00:00
valarray_after.h re PR libstdc++/40691 (bug in logical not operator for valarray used with slice) 2009-07-08 22:26:50 +00:00
valarray_array.h re PR libstdc++/41763 (valarray_array.h seems to overuse __restrict__) 2009-10-20 21:21:11 +00:00
valarray_array.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
valarray_before.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
vector.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00