The __gnu_debug string (mostly) implements the C++11 API, but when it wraps the old COW string many of the member functions in the base class have the wrong parameter types or return types. This makes the __gnu_debug::string type adapt itself to the base class API. This actually makes the debug string slightly more conforming than the underlying string type when using the old ABI. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string::__const_iterator): Change access to protected. [!_GLIBCXX_USE_CXX11_ABI] (basic_string::__const_iterator): Define as typedef for iterator. * include/debug/string (__const_iterator): Use typedef from base. (insert(const_iterator, _CharT)) (replace(const_iterator, const_iterator, const basic_string&)) (replace(const_iterator, const_iterator, const _CharT*, size_type)) (replace(const_iterator, const_iterator, const CharT*)) (replace(const_iterator, const_iterator, size_type, _CharT)) (replace(const_iterator, const_iterator, _InputIter, _InputIter)) (replace(const_iterator, const_iterator, initializer_list<_CharT>)): Change const_iterator parameters to __const_iterator. (insert(iterator, size_type, _CharT)): Add C++98 overload. (insert(const_iterator, _InputIterator, _InputIterator)): Change const_iterator parameter to __const_iterator. [!_GLIBCXX_USE_CXX11_ABI]: Add workaround for incorrect return type of base's member function. (insert(const_iterator, size_type, _CharT)) [!_GLIBCXX_USE_CXX11_ABI]: Likewise. (insert(const_iterator, initializer_list<_CharT>)) [!_GLIBCXX_USE_CXX11_ABI]: Likewise. * testsuite/21_strings/basic_string/init-list.cc: Remove effective target directive. From-SVN: r263808
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| 17_intro | Loading commit data... | |
| 18_support | Loading commit data... | |
| 19_diagnostics | Loading commit data... | |
| 20_util | Loading commit data... | |
| 21_strings | Loading commit data... | |
| 22_locale | Loading commit data... | |
| 23_containers | Loading commit data... | |
| 24_iterators | Loading commit data... | |
| 25_algorithms | Loading commit data... | |
| 26_numerics | Loading commit data... | |
| 27_io | Loading commit data... | |
| 28_regex | Loading commit data... | |
| 29_atomics | Loading commit data... | |
| 30_threads | Loading commit data... | |
| abi | Loading commit data... | |
| backward | Loading commit data... | |
| config | Loading commit data... | |
| data | Loading commit data... | |
| decimal | Loading commit data... | |
| experimental | Loading commit data... | |
| ext | Loading commit data... | |
| lib | Loading commit data... | |
| libstdc++-abi | Loading commit data... | |
| libstdc++-dg | Loading commit data... | |
| libstdc++-prettyprinters | Loading commit data... | |
| libstdc++-xmethods | Loading commit data... | |
| performance | Loading commit data... | |
| special_functions | Loading commit data... | |
| tr1 | Loading commit data... | |
| tr2 | Loading commit data... | |
| util | Loading commit data... | |
| Makefile.am | Loading commit data... | |
| Makefile.in | Loading commit data... |