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