gcc/libstdc++-v3/include/bits
Jonathan Wakely 95cb0fc8c5 libstdc++: Add remaining C++20 additions to <sstream> [P0408R7]
This adds the new overloads of basic_stringbuf::str, and the
corresponding overloads to basic_istringstream, basic_ostringstream and
basic_stringstream.

libstdc++-v3/ChangeLog:

	* config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Tighten patterns.
	(GLIBCXX_3.4.29): Export new symbols.
	* include/bits/alloc_traits.h (__allocator_like): New concept.
	* include/std/sstream (basic_stringbuf::swap): Add exception
	specification.
	(basic_stringbuf::str() const): Add ref-qualifier. Use new
	_M_high_mark function.
	(basic_stringbuf::str(const SAlloc&) const): Define new function.
	(basic_stringbuf::str() &&): Likewise.
	(basic_stringbuf::str(const basic_string<C,T,SAlloc>&)):
	Likewise.
	(basic_stringbuf::str(basic_string<C,T,Alloc>&&)): Likewise.
	(basic_stringbuf::view() const): Use _M_high_mark.
	(basic_istringstream::str, basic_ostringstream::str)
	(basic_stringstream::str): Define new overloads.
	* src/c++20/sstream-inst.cc (basic_stringbuf::str)
	(basic_istringstream::str, basic_ostringstream::str)
	(basic_stringstream::str): Explicit instantiation definitions
	for new overloads.
	* testsuite/27_io/basic_istringstream/view/char/1.cc: Add more
	checks.
	* testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/basic_ostringstream/view/char/1.cc:
	Likewise.
	* testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/basic_stringstream/view/char/1.cc:
	Likewise.
	* testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/basic_istringstream/str/char/2.cc: New test.
	* testsuite/27_io/basic_istringstream/str/wchar_t/2.cc: New test.
	* testsuite/27_io/basic_ostringstream/str/char/3.cc: New test.
	* testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc: New test.
	* testsuite/27_io/basic_stringbuf/str/char/4.cc: New test.
	* testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: New test.
	* testsuite/27_io/basic_stringstream/str/char/5.cc: New test.
	* testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc: New test.
2020-11-10 19:22:47 +00:00
..
algorithmfwd.h
align.h libstdc++: Fix overflow handling in std::align 2020-09-22 17:49:48 +01:00
alloc_traits.h libstdc++: Add remaining C++20 additions to <sstream> [P0408R7] 2020-11-10 19:22:47 +00:00
allocated_ptr.h
allocator.h
atomic_base.h libstdc++: Add unused attributes to suppress warnings 2020-09-10 17:09:15 +01:00
atomic_futex.h libstdc++: Use correct duration for atomic_futex wait on custom clock [PR 91486] 2020-10-05 11:32:10 +01:00
basic_ios.h
basic_ios.tcc
basic_string.h libstdc++: Define some std::string constructors inline 2020-10-14 12:52:47 +01:00
basic_string.tcc libstdc++: Define some std::string constructors inline 2020-10-14 12:52:47 +01:00
boost_concept_check.h
c++0x_warning.h
c++config libstdc++: Use __is_same instead of __is_same_as 2020-09-30 18:41:12 +01:00
char_traits.h
charconv.h
codecvt.h libstdc++: Fix some -Wunused-parameter warnings 2020-09-10 17:09:16 +01:00
concept_check.h
cpp_type_traits.h libstdc++: Define type traits for wchar_t even when libc support missing 2020-11-01 11:39:07 +00:00
deque.tcc libstdc++: Fix three-way comparison for std::array [PR 96851] 2020-09-02 15:32:11 +01:00
enable_special_members.h
erase_if.h
forward_list.h
forward_list.tcc libstdc++: Implement DR 526 on [forward_]list remove_if/unique [PR 91620] 2020-08-11 21:30:05 +02:00
fs_dir.h
fs_fwd.h
fs_ops.h
fs_path.h libstdc++: Add noexcept to declaration of path::_List members 2020-10-27 14:50:37 +00:00
fstream.tcc libstdc++: Override BUFSIZ for Windows targets [PR 94268] 2020-10-28 13:19:21 +00:00
functexcept.h libstdc++: Make allocators throw bad_array_new_length on overflow [LWG 3190] 2020-10-05 15:18:56 +01:00
functional_hash.h
gslice_array.h
gslice.h
hashtable_policy.h libstdc++: Use double for unordered container load factors [PR 96958] 2020-10-31 00:52:57 +00:00
hashtable.h libstdc++: Refactor _Hashtable to prepare for custom pointers 2020-10-20 21:30:22 +02:00
indirect_array.h
invoke.h
ios_base.h libstdc++: Add C++11 member functions for ios::failure in old ABI 2020-10-08 14:45:37 +01:00
istream.tcc libstdc++: Do not set eofbit eagerly in operator>>(istream&, char(&)[N]) 2020-08-06 19:23:14 +01:00
iterator_concepts.h libstdc++: Introduce new headers for C++20 ranges components 2020-09-22 15:45:54 +01:00
list.tcc libstdc++: Implement DR 526 on [forward_]list remove_if/unique [PR 91620] 2020-08-11 21:30:05 +02:00
locale_classes.h
locale_classes.tcc
locale_conv.h libstdc++: Fix -Wsign-compare warnings in headers 2020-10-27 16:32:53 +00:00
locale_facets_nonio.h
locale_facets_nonio.tcc libstdc++: Fix -Wsign-compare warnings in headers 2020-10-27 16:32:53 +00:00
locale_facets.h
locale_facets.tcc
localefwd.h
mask_array.h
max_size_type.h libstdc++: integer-class types as per [iterator.concept.winc] 2020-08-19 09:12:55 -04:00
memoryfwd.h
move.h
node_handle.h libstdc++: Optimize container node-handle type for size 2020-10-19 18:06:51 +01:00
ostream_insert.h
ostream.tcc
parse_numbers.h libstdc++: Fix some warnings in headers 2020-10-29 22:47:22 +00:00
postypes.h
predefined_ops.h
ptr_traits.h
quoted_string.h
random.h libstdc++: Prefer double to long double in std::shuffle_order_engine 2020-10-31 12:54:03 +00:00
random.tcc libstdc++: Prefer double to long double in std::shuffle_order_engine 2020-10-31 12:54:03 +00:00
range_access.h libstdc++: Introduce new headers for C++20 ranges components 2020-09-22 15:45:54 +01:00
ranges_algo.h libstdc++: Fix non-reserved names in headers 2020-10-08 00:05:53 +01:00
ranges_algobase.h libstdc++: Introduce new headers for C++20 ranges components 2020-09-22 15:45:54 +01:00
ranges_base.h libstdc++: Introduce new headers for C++20 ranges components 2020-09-22 15:45:54 +01:00
ranges_cmp.h libstdc++: Introduce new headers for C++20 ranges components 2020-09-22 15:45:54 +01:00
ranges_uninitialized.h libstdc++: Make ranges::construct_at constexpr-friendly [PR95788] 2020-10-08 18:10:05 -04:00
ranges_util.h libstdc++: Avoid narrowing conversion in subrange constructor 2020-10-29 22:47:22 +00:00
refwrap.h
regex_automaton.h
regex_automaton.tcc
regex_compiler.h
regex_compiler.tcc libstdc++: Fix some warnings in headers 2020-10-29 11:43:55 +00:00
regex_constants.h
regex_error.h libstdc++: Fix build error in <bits/regex_error.h> 2020-09-11 14:52:40 +01:00
regex_executor.h
regex_executor.tcc
regex_scanner.h
regex_scanner.tcc
regex.h libstdc++: Fix some warnings in headers 2020-10-29 11:43:55 +00:00
regex.tcc
shared_ptr_atomic.h
shared_ptr_base.h libstdc++: Fix some warnings in headers 2020-10-29 11:43:55 +00:00
shared_ptr.h libstdc++: Reduce header dependencies in and on <memory> 2020-10-22 18:42:03 +01:00
slice_array.h
specfun.h
sstream.tcc libstdc++: Fix -Wsign-compare warnings in headers 2020-10-27 16:32:53 +00:00
std_abs.h
std_function.h libstdc++: Include <typeinfo> even for -fno-rtti [PR 97758] 2020-11-09 14:28:37 +00:00
std_mutex.h
stl_algo.h libstdc++: Define new C++17 std::search overload for Parallel Mode [PR 94971] 2020-11-04 13:36:32 +00:00
stl_algobase.h libstdc++: Fix documentation for return values of copy algos 2020-10-12 18:14:01 +01:00
stl_bvector.h libstdc++: Fix and improve std::vector<bool> implementation. 2020-07-31 23:18:51 +02:00
stl_construct.h
stl_deque.h libstdc++: Make self-move well-defined for containers [PR 85828] 2020-08-12 20:36:00 +01:00
stl_function.h
stl_heap.h
stl_iterator_base_funcs.h
stl_iterator_base_types.h
stl_iterator.h libstdc++: Add missing P0896 changes to <iterator> 2020-10-02 10:51:31 -04:00
stl_list.h libstdc++: Make self-move well-defined for containers [PR 85828] 2020-08-12 20:36:00 +01:00
stl_map.h
stl_multimap.h
stl_multiset.h
stl_numeric.h
stl_pair.h
stl_queue.h
stl_raw_storage_iter.h
stl_relops.h
stl_set.h
stl_stack.h
stl_tempbuf.h
stl_tree.h libstdc++: Fix some warnings in headers 2020-10-29 11:43:55 +00:00
stl_uninitialized.h
stl_vector.h
stream_iterator.h
streambuf_iterator.h
streambuf.tcc
string_view.tcc
stringfwd.h
uniform_int_dist.h libstdc++: Improve comment on _Power_of_2 helper function 2020-11-09 14:54:29 +00:00
unique_lock.h
unique_ptr.h libstdc++: Implement std::make_unique_for_overwrite 2020-10-19 22:11:39 +01:00
unordered_map.h libstdc++: Fix unordered containers move constructors noexcept qualification 2020-07-29 11:26:42 +02:00
unordered_set.h libstdc++: Fix unordered containers move constructors noexcept qualification 2020-07-29 11:26:42 +02:00
uses_allocator_args.h libstdc++: Reduce header dependencies in and on <memory> 2020-10-22 18:42:03 +01:00
uses_allocator.h
valarray_after.h libstdc++: Fix name clash with _Cosh in QNX headers [PR 95592] 2020-10-28 12:35:44 +00:00
valarray_array.h
valarray_array.tcc
valarray_before.h
vector.tcc