afe96d415d
2010-11-25 François Dumont <francois.cppdevs@free.fr> * src/debug.cc: Introduce a mutex pool in get_safe_base_mutex. Move code used to manipulate sequence safe iterators from safe iterator methods to safe sequence ones. Remove usage of safe iterator mutex, keep _Safe_iterator_base::_M_get_mutex for library backward binary compatibility. * src/Makefile.am: Build debug.cc in gnu++0x mode for _Hash_impl usage. * src/Makefile.in: Regenerate * include/debug/safe_base.h: Add _Safe_iterator_base _M_invalidate and _M_reset. Add _Safe_sequence_base _M_attach, _M_attach_single, _M_detach and _M_detach_single. * include/debug.safe_iterator.h, safe_iterator.tcc: Remove _Safe_iterator _M_invalidate and _M_invalidate_single. Implement all methods in terms of normal iterators rather than safe ones. * include/debug/safe_sequence.h: Replace _Safe_sequence _M_transfe_iter with _M_transfer_from_if taking the source sequence and a predicate signaling when a safe iterator shall be transfered. Add _Equal_to predicate. * include/debug/safe_sequence.tcc: New. * include/Makefile.am: Adjust. * include/Makefile.in: Regenerate. * include/debug/forward_list: Swap safe iterators in move constructor. Do not invalidate before begin in _M_invalidate_all method. Reimplement safe methods using normal iterators rather than safe ones. * include/debug/set.h, unordered_map, multiset.h, vector, unordered_set, deque, map.h, list, multimap.h: Reimplement safe method using normal iterators rather than safe ones. * testsuite/23_containers/forward_list/debug/clear.cc, swap.cc, move_constructor.cc, splice_after.cc, splice_after1.cc, splice_after2.cc, splice_after3.cc, splice_after4.cc: New. * testsuite/23_containers/vector/debug/multithreaded_swap.cc: New. From-SVN: r167152 |
||
---|---|---|
.. | ||
allocator-inst.cc | ||
atomic.cc | ||
bitmap_allocator.cc | ||
chrono.cc | ||
codecvt.cc | ||
compatibility-c++0x.cc | ||
compatibility-debug_list.cc | ||
compatibility-ldbl.cc | ||
compatibility-list.cc | ||
compatibility-parallel_list.cc | ||
compatibility.cc | ||
complex_io.cc | ||
concept-inst.cc | ||
condition_variable.cc | ||
ctype.cc | ||
debug_list.cc | ||
debug.cc | ||
ext-inst.cc | ||
fstream-inst.cc | ||
functexcept.cc | ||
future.cc | ||
globals_io.cc | ||
hash_c++0x.cc | ||
hash_tr1.cc | ||
hash-long-double-aux.cc | ||
hashtable_c++0x.cc | ||
hashtable_tr1.cc | ||
hashtable-aux.cc | ||
ios_failure.cc | ||
ios_init.cc | ||
ios_locale.cc | ||
ios-inst.cc | ||
ios.cc | ||
iostream-inst.cc | ||
istream-inst.cc | ||
istream.cc | ||
limits.cc | ||
list.cc | ||
locale_facets.cc | ||
locale_init.cc | ||
locale-inst.cc | ||
locale.cc | ||
localename.cc | ||
Makefile.am | ||
Makefile.in | ||
math_stubs_float.cc | ||
math_stubs_long_double.cc | ||
misc-inst.cc | ||
mt_allocator.cc | ||
mutex.cc | ||
ostream-inst.cc | ||
parallel_list.cc | ||
parallel_settings.cc | ||
pool_allocator.cc | ||
sstream-inst.cc | ||
stdexcept.cc | ||
streambuf-inst.cc | ||
streambuf.cc | ||
string-inst.cc | ||
strstream.cc | ||
system_error.cc | ||
thread.cc | ||
tree.cc | ||
valarray-inst.cc | ||
wlocale-inst.cc | ||
wstring-inst.cc |