gcc/libstdc++-v3/include/std
Ville Voutilainen ca8f2cb137 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.

From-SVN: r238823
2016-07-28 18:15:26 +03:00
..
algorithm Update copyright years. 2016-01-04 15:30:50 +01:00
any Fix the constraints for any's assignment operator template to properly 2016-07-15 10:44:22 +03:00
array Provide swappable traits (p0185r1) 2016-06-16 16:07:19 +01:00
atomic LWG 2441 Provide exact-width atomic typedefs 2016-07-20 19:21:59 +01:00
bitset Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
chrono Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
codecvt Update copyright years. 2016-01-04 15:30:50 +01:00
complex Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
condition_variable Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
deque Update copyright years. 2016-01-04 15:30:50 +01:00
forward_list Update copyright years. 2016-01-04 15:30:50 +01:00
fstream Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
functional Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
future Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
iomanip Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
ios Update copyright years. 2016-01-04 15:30:50 +01:00
iosfwd Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
iostream Update copyright years. 2016-01-04 15:30:50 +01:00
istream LWG 2328 Rvalue stream extraction should use perfect forwarding 2016-07-20 19:21:53 +01:00
iterator Update copyright years. 2016-01-04 15:30:50 +01:00
limits Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
list Update copyright years. 2016-01-04 15:30:50 +01:00
locale Update copyright years. 2016-01-04 15:30:50 +01:00
map Update copyright years. 2016-01-04 15:30:50 +01:00
memory Update copyright years. 2016-01-04 15:30:50 +01:00
mutex Rename bits/mutex.h to avoid clashing with glibc 2016-01-06 13:00:33 +00:00
numeric Update copyright years. 2016-01-04 15:30:50 +01:00
optional Clean up optional's comments. 2016-07-18 17:45:56 +03:00
ostream Update copyright years. 2016-01-04 15:30:50 +01:00
queue Update copyright years. 2016-01-04 15:30:50 +01:00
random Update copyright years. 2016-01-04 15:30:50 +01:00
ratio Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
regex Update copyright years. 2016-01-04 15:30:50 +01:00
scoped_allocator Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
set Update copyright years. 2016-01-04 15:30:50 +01:00
shared_mutex libstdc++/70766 use std::addressof instead of operator& 2016-04-28 13:33:07 +01:00
sstream Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
stack Update copyright years. 2016-01-04 15:30:50 +01:00
stdexcept Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
streambuf Update copyright years. 2016-01-04 15:30:50 +01:00
string Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
string_view Implement std::string_view and P0254r2, 2016-07-28 18:15:26 +03:00
system_error Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
thread Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
tuple Provide swappable traits (p0185r1) 2016-06-16 16:07:19 +01:00
type_traits Provide swappable traits (p0185r1) 2016-06-16 16:07:19 +01:00
typeindex Update copyright years. 2016-01-04 15:30:50 +01:00
unordered_map Update copyright years. 2016-01-04 15:30:50 +01:00
unordered_set Update copyright years. 2016-01-04 15:30:50 +01:00
utility Implement P0032R3, Homogeneous interface for variant, any and optional, 2016-07-14 12:10:05 +03:00
valarray Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00
vector Remove trailing whitespace from libstdc++ headers 2016-06-16 14:47:35 +01:00