diff options
-rw-r--r-- | libstdc++-v3/ChangeLog | 3 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/regex_compiler.h | 9 |
2 files changed, 10 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index ea2e6c7eee9..3ecd3ba6500 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -32,6 +32,9 @@ so that std::basic_string<C> and std::vector<C> iterators dispatch to the const C* compiler. + * include/bits/regex_compiler.h (__detail::__has_contiguous_iter): + vector<bool> storage is not contiguous. + 2013-11-06 Jonathan Wakely <jwakely.gcc@gmail.com> * include/bits/regex_automaton.h (_S_opcode_word_boundry): Rename to diff --git a/libstdc++-v3/include/bits/regex_compiler.h b/libstdc++-v3/include/bits/regex_compiler.h index 741098f8c64..b9f81272bb9 100644 --- a/libstdc++-v3/include/bits/regex_compiler.h +++ b/libstdc++-v3/include/bits/regex_compiler.h @@ -134,12 +134,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template<typename _Ch, typename _Tr, typename _Alloc> struct __has_contiguous_iter<std::basic_string<_Ch, _Tr, _Alloc>> - : std::true_type + : std::true_type // string<Ch> storage is contiguous { }; template<typename _Tp, typename _Alloc> struct __has_contiguous_iter<std::vector<_Tp, _Alloc>> - : std::true_type + : std::true_type // vector<Tp> storage is contiguous + { }; + + template<typename _Alloc> + struct __has_contiguous_iter<std::vector<bool, _Alloc>> + : std::false_type // vector<bool> storage is not contiguous { }; template<typename _Tp> |