diff options
| author | redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-03-21 18:54:06 +0000 |
|---|---|---|
| committer | redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-03-21 18:54:06 +0000 |
| commit | 85f1350d81a4837c919b181b787d2df5e316bb73 (patch) | |
| tree | 4f7628858105e6cecedd5d7a5be9c8a910ee8da7 /libstdc++-v3/include/debug/vector | |
| parent | 4236a702c4f0f811605f8189a513f521fde8cc91 (diff) | |
| download | ppe42-gcc-85f1350d81a4837c919b181b787d2df5e316bb73.tar.gz ppe42-gcc-85f1350d81a4837c919b181b787d2df5e316bb73.zip | |
PR libstdc++/60587
* include/debug/functions.h (_Is_contiguous_sequence): Define.
(__foreign_iterator): Accept additional iterator. Do not dispatch on
iterator category.
(__foreign_iterator_aux2): Likewise. Add overload for iterators
from different types of debug container. Use _Is_contiguous_sequence
instead of is_lvalue_reference.
(__foreign_iterator_aux3): Accept additional iterator. Avoid
dereferencing past-the-end iterator.
(__foreign_iterator_aux4): Use const value_type* instead of
potentially user-defined const_pointer type.
* include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
and pass end iterator to __gnu_debug::__foreign_iterator.
(__glibcxx_check_insert_range_after): Likewise.
(__glibcxx_check_max_load_factor): Fix comment.
* include/debug/vector (_Is_contiguous_sequence): Define partial
specializations.
* testsuite/23_containers/vector/debug/57779_neg.cc: Remove
-std=gnu++11 option and unused header.
* testsuite/23_containers/vector/debug/60587.cc: New.
* testsuite/23_containers/vector/debug/60587_neg.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208755 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/debug/vector')
| -rw-r--r-- | libstdc++-v3/include/debug/vector | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector index bcca52035d3..2e9cd656b5c 100644 --- a/libstdc++-v3/include/debug/vector +++ b/libstdc++-v3/include/debug/vector @@ -718,4 +718,17 @@ namespace __debug } // namespace std +namespace __gnu_debug +{ + template<typename _Tp, typename _Alloc> + struct _Is_contiguous_sequence<std::__debug::vector<_Tp, _Alloc> > + : std::__true_type + { }; + + template<typename _Alloc> + struct _Is_contiguous_sequence<std::__debug::vector<bool, _Alloc> > + : std::__false_type + { }; +} + #endif |

