aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/21_strings/basic_string/operations/data
AgeCommit message (Collapse)Author
2016-08-01Add non-const std::basic_string::data() for C++17Jonathan Wakely
* include/bits/basic_string.h (data() const): Update comment. (data()): Add non-const overload for C++17. * testsuite/21_strings/basic_string/operations/data/char/2.cc: New. * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238963 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-13Revert "Add non-const overload of std::string::data()"Jonathan Wakely
This reverts r238291 aka 4300aa2087d90cd2d55852fa38f082a89bc7e72d. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238303 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-13Add non-const overload of std::string::data()Jonathan Wakely
Also fix confusion between pointer and _CharT*, so that allocators with fancy pointers work correctly. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str): New function. (_M_disjunct, basic_string(const basic_string&, size_t)): Use data() instead of _M_data(). (basic_string(const basic_string&, size_t, size_t, const _Alloc&)): Likewise. (append(const basic_string&)): Likewise. (append(const basic_string&, size_type, size_type)): Likewise. (assign(const basic_string&, size_type, size_type)): Likewise. (insert(size_type, const basic_string&)): Likewise. (insert(size_type, const basic_string&, size_type, size_type)): Likewise. (replace(size_type, size_type, const basic_string&, size_type, size_type)): Likewise. (replace(__const_iterator, __const_iterator, const basic_string&)): Likewise. (c_str(), data()): Use c_str() instead of _M_data(). (data()): Add non-const overload as per LWG 2391 and P0272R1. (compare(const basic_string&)): Use data() instead of _M_data(). [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload. * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate): Pass raw pointers to _S_copy. (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and _S_assign. (find(const _CharT*, size_type, size_type)): Use data instead of _M_data(). * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New. * testsuite/21_strings/basic_string/operations/data/char/2.cc: New. * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238291 138bc75d-0d04-0410-961f-82ee72b054a4
2013-06-282013-06-27 Paolo Carlini <paolo.carlini@oracle.com>Paolo Carlini
* testsuite/21_strings/basic_string/operations/*: Move inside testsuite/21_strings/basic_string/operations/data/. * testsuite/21_strings/basic_string/compare/*: Move inside testsuite/21_strings/basic_string/operations/. * testsuite/21_strings/basic_string/find/*: Likewise. * testsuite/21_strings/basic_string/rfind/*: Likewise. * testsuite/21_strings/basic_string/substr/*: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@200537 138bc75d-0d04-0410-961f-82ee72b054a4