r238823 - in /trunk/libstdc++-v3: ChangeLog inc...
ville@gcc.gnu.org
ville@gcc.gnu.org
Thu Jul 28 15:15:00 GMT 2016
Author: ville
Date: Thu Jul 28 15:15:26 2016
New Revision: 238823
URL: https://gcc.gnu.org/viewcvs?rev=238823&root=gcc&view=rev
Log:
Implement std::string_view and P0254r2,
Integrating std::string_view and std::string.
* include/Makefile.am: Add string_view and string_view.tcc
to the exported headers.
* include/Makefile.in: Likewise.
* include/bits/basic_string.h: Include <string_view> in C++17 mode.
(__sv_type): New.
(basic_string(__sv_type, const _Alloc&)): Likewise.
(operator=(__sv_type)): Likewise.
(operator __sv_type()): Likewise.
(operator+=(__sv_type)): Likewise.
(append(__sv_type __sv)): Likewise.
(append(__sv_type, size_type, size_type)): Likewise.
(assign(__sv_type)): Likewise.
(assign(__sv_type, size_type, size_type)): Likewise.
(insert(size_type, __sv_type)): Likewise.
(insert(size_type, __sv_type, size_type, size_type)): Likewise.
(replace(size_type, size_type, __sv_type)): Likewise.
(replace(size_type, size_type, __sv_type, size_type, size_type)):
Likewise.
(replace(const_iterator, const_iterator, __sv_type)): Likewise.
(find(__sv_type, size_type)): Likewise.
(rfind(__sv_type, size_type)): Likewise.
(find_first_of(__sv_type, size_type)): Likewise.
(find_last_of(__sv_type, size_type)): Likewise.
(find_first_not_of(__sv_type, size_type)): Likewise.
(find_last_not_of(__sv_type, size_type)): Likewise.
(compare(__sv_type)): Likewise.
(compare(size_type, size_type, __sv_type)): Likewise.
(compare(size_type, size_type, __sv_type, size_type, size_type)):
Likewise.
* include/bits/string_view.tcc: New.
* include/std/string_view: Likewise.
* testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
* testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
Likewise.
* testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/char/5.cc:
Likewise.
* testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
Likewise.
* testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
* testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
* testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
Likewise.
* testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
Likewise.
* testsuite/21_strings/basic_string_view/include.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
* testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
* testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/range_access/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
Likewise.
* testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
* testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
Added:
trunk/libstdc++-v3/include/bits/string_view.tcc
trunk/libstdc++-v3/include/std/string_view
trunk/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/7.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/7.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/4.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/4.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/3.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/7.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/5.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/5.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/5.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/capacity/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/capacity/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/3.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/empty.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/front_back.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/include.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/3.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/pod/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/char/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/3.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/4.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/string_conversion/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/char/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operators/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operators/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operators/char/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operators/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/char/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/typedefs.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/typedefs.cc
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/types/
trunk/libstdc++-v3/testsuite/21_strings/basic_string_view/types/1.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/Makefile.am
trunk/libstdc++-v3/include/Makefile.in
trunk/libstdc++-v3/include/bits/basic_string.h
More information about the Gcc-cvs
mailing list