2015-06-29 François Dumont <fdumont@gcc.gnu.org> * include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition to pre-C++11 mode. * include/debug/functions.h (__gnu_debug::__valid_range, __gnu_debug::__base): Move... * include/debug/safe_iterator.h (__gnu_debug::_Sequence_traits): New. (__gnu_debug::__get_distance_from_begin): New. (__gnu_debug::__get_distance_to_end): New. (__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range distance information. Add optional check_dereferenceable parameter, default true. (__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move default definition... (__gnu_debug::__get_distance): New overload for _Safe_iterator. (__gnu_debug::__unsafe): Likewise. * include/debug/helper_functions.h: ...here. New. (__gnu_debug::__unsafe): New helper function to remove safe iterator layer. * include/debug/stl_iterator.h: New. Include latter. * include/bits/stl_iterator.h: Include latter in debug mode. * include/debug/stl_iterator.tcc: Adapt. * include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add overload for _Safe_local_iterator. (__gnu_debug::__unsafe): Likewise. * include/debug/safe_local_iterator.tcc: Adapt. * include/debug/macros.h (__glibcxx_check_valid_range2): New. (__glibcxx_check_insert_range): Add _Dist parameter. (__glibcxx_check_insert_range_after): Likewise. (__glibcxx_check_string, __glibcxx_check_string_len): Implement using _GLIBCXX_DEBUG_PEDASSERT. * include/debug/deque (deque<>::assign): Remove iterator debug layer when possible. (deque<>::insert): Likewise. * include/debug/forward_list (__glibcxx_check_valid_fl_range): New. (forward_list<>::splice_after): Use latter. (forward_list<>::assign): Remove iterator debug layer when possible. (forward_list<>::insert_after): Likewise. (__gnu_debug::_Sequence_traits<>): Partial specialization. * include/debug/list (list<>::assign): Remove iterator debug layer when possible. (list<>::insert): Likewise. [__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI. * include/debug/map.h (map<>::insert): Remove iterator debug layer when possible. * include/debug/multimap.h (multimap<>::insert): Likewise. * include/debug/set.h (set<>::insert): Likewise. * include/debug/multiset.h (multiset<>::insert): Likewise. * include/debug/string (basic_string<>::append, basic_string<>::assign, basic_string<>::insert, basic_string<>::replace): Likewise. * include/debug/unordered_map (unordered_map<>::insert, unordered_multimap<>::insert): Likewise. * include/debug/unordered_set (unordered_set<>::insert, unordered_multiset<>insert): Likewise. * include/debug/vector (vector<>::assign, vector<>::insert): Likewise. * include/Makefile.am: Add new debug headers. * include/Makefile.in: Regenerate. From-SVN: r225143
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
algorithmfwd.h | Loading commit data... | |
alloc_traits.h | Loading commit data... | |
allocated_ptr.h | Loading commit data... | |
allocator.h | Loading commit data... | |
atomic_base.h | Loading commit data... | |
atomic_futex.h | Loading commit data... | |
basic_ios.h | Loading commit data... | |
basic_ios.tcc | Loading commit data... | |
basic_string.h | Loading commit data... | |
basic_string.tcc | Loading commit data... | |
boost_concept_check.h | Loading commit data... | |
c++0x_warning.h | Loading commit data... | |
c++14_warning.h | Loading commit data... | |
c++config | Loading commit data... | |
char_traits.h | Loading commit data... | |
codecvt.h | Loading commit data... | |
concept_check.h | Loading commit data... | |
cpp_type_traits.h | Loading commit data... | |
deque.tcc | Loading commit data... | |
enable_special_members.h | Loading commit data... | |
forward_list.h | Loading commit data... | |
forward_list.tcc | Loading commit data... | |
fstream.tcc | Loading commit data... | |
functexcept.h | Loading commit data... | |
functional_hash.h | Loading commit data... | |
gslice.h | Loading commit data... | |
gslice_array.h | Loading commit data... | |
hashtable.h | Loading commit data... | |
hashtable_policy.h | Loading commit data... | |
indirect_array.h | Loading commit data... | |
ios_base.h | Loading commit data... | |
istream.tcc | Loading commit data... | |
list.tcc | Loading commit data... | |
locale_classes.h | Loading commit data... | |
locale_classes.tcc | Loading commit data... | |
locale_conv.h | Loading commit data... | |
locale_facets.h | Loading commit data... | |
locale_facets.tcc | Loading commit data... | |
locale_facets_nonio.h | Loading commit data... | |
locale_facets_nonio.tcc | Loading commit data... | |
localefwd.h | Loading commit data... | |
mask_array.h | Loading commit data... | |
memoryfwd.h | Loading commit data... | |
move.h | Loading commit data... | |
ostream.tcc | Loading commit data... | |
ostream_insert.h | Loading commit data... | |
parse_numbers.h | Loading commit data... | |
postypes.h | Loading commit data... | |
predefined_ops.h | Loading commit data... | |
ptr_traits.h | Loading commit data... | |
quoted_string.h | Loading commit data... | |
random.h | Loading commit data... | |
random.tcc | Loading commit data... | |
range_access.h | Loading commit data... | |
regex.h | Loading commit data... | |
regex.tcc | Loading commit data... | |
regex_automaton.h | Loading commit data... | |
regex_automaton.tcc | Loading commit data... | |
regex_compiler.h | Loading commit data... | |
regex_compiler.tcc | Loading commit data... | |
regex_constants.h | Loading commit data... | |
regex_error.h | Loading commit data... | |
regex_executor.h | Loading commit data... | |
regex_executor.tcc | Loading commit data... | |
regex_scanner.h | Loading commit data... | |
regex_scanner.tcc | Loading commit data... | |
shared_ptr.h | Loading commit data... | |
shared_ptr_atomic.h | Loading commit data... | |
shared_ptr_base.h | Loading commit data... | |
slice_array.h | Loading commit data... | |
sstream.tcc | Loading commit data... | |
stl_algo.h | Loading commit data... | |
stl_algobase.h | Loading commit data... | |
stl_bvector.h | Loading commit data... | |
stl_construct.h | Loading commit data... | |
stl_deque.h | Loading commit data... | |
stl_function.h | Loading commit data... | |
stl_heap.h | Loading commit data... | |
stl_iterator.h | Loading commit data... | |
stl_iterator_base_funcs.h | Loading commit data... | |
stl_iterator_base_types.h | Loading commit data... | |
stl_list.h | Loading commit data... | |
stl_map.h | Loading commit data... | |
stl_multimap.h | Loading commit data... | |
stl_multiset.h | Loading commit data... | |
stl_numeric.h | Loading commit data... | |
stl_pair.h | Loading commit data... | |
stl_queue.h | Loading commit data... | |
stl_raw_storage_iter.h | Loading commit data... | |
stl_relops.h | Loading commit data... | |
stl_set.h | Loading commit data... | |
stl_stack.h | Loading commit data... | |
stl_tempbuf.h | Loading commit data... | |
stl_tree.h | Loading commit data... | |
stl_uninitialized.h | Loading commit data... | |
stl_vector.h | Loading commit data... | |
stream_iterator.h | Loading commit data... | |
streambuf.tcc | Loading commit data... | |
streambuf_iterator.h | Loading commit data... | |
stringfwd.h | Loading commit data... | |
unique_ptr.h | Loading commit data... | |
unordered_map.h | Loading commit data... | |
unordered_set.h | Loading commit data... | |
uses_allocator.h | Loading commit data... | |
valarray_after.h | Loading commit data... | |
valarray_array.h | Loading commit data... | |
valarray_array.tcc | Loading commit data... | |
valarray_before.h | Loading commit data... | |
vector.tcc | Loading commit data... |