Skip to content

Commit

Permalink
Implement P0448R4 spanstream (#2029)
Browse files Browse the repository at this point in the history
Co-authored-by: Adam Bucior <35536269+AdamBucior@users.noreply.github.com>
Co-authored-by: Charlie Barto <chbarto@microsoft.com>
Co-authored-by: Matt Stephanson <68978048+MattStephanson@users.noreply.github.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
  • Loading branch information
5 people authored Sep 11, 2021
1 parent d5feb03 commit 5d6a1f2
Show file tree
Hide file tree
Showing 16 changed files with 1,640 additions and 0 deletions.
1 change: 1 addition & 0 deletions stl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ set(HEADERS
${CMAKE_CURRENT_LIST_DIR}/inc/shared_mutex
${CMAKE_CURRENT_LIST_DIR}/inc/source_location
${CMAKE_CURRENT_LIST_DIR}/inc/span
${CMAKE_CURRENT_LIST_DIR}/inc/spanstream
${CMAKE_CURRENT_LIST_DIR}/inc/sstream
${CMAKE_CURRENT_LIST_DIR}/inc/stack
${CMAKE_CURRENT_LIST_DIR}/inc/stdatomic.h
Expand Down
1 change: 1 addition & 0 deletions stl/inc/__msvc_all_public_headers.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@
#include <scoped_allocator>
#include <set>
#include <span>
#include <spanstream>
#include <sstream>
#include <stack>
#include <stdexcept>
Expand Down
1 change: 1 addition & 0 deletions stl/inc/header-units.json
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@
"shared_mutex",
"source_location",
"span",
"spanstream",
"sstream",
"stack",
"stdatomic.h",
Expand Down
22 changes: 22 additions & 0 deletions stl/inc/iosfwd
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,16 @@ template <class _Elem, class _Traits = char_traits<_Elem>, class _Alloc = alloca
class basic_ostringstream;
template <class _Elem, class _Traits = char_traits<_Elem>, class _Alloc = allocator<_Elem>>
class basic_stringstream;
#if _HAS_CXX23
template <class _Elem, class _Traits = char_traits<_Elem>>
class basic_spanbuf;
template <class _Elem, class _Traits = char_traits<_Elem>>
class basic_ispanstream;
template <class _Elem, class _Traits = char_traits<_Elem>>
class basic_ospanstream;
template <class _Elem, class _Traits = char_traits<_Elem>>
class basic_spanstream;
#endif // _HAS_CXX23
template <class _Elem, class _Traits = char_traits<_Elem>>
class basic_filebuf;
template <class _Elem, class _Traits = char_traits<_Elem>>
Expand Down Expand Up @@ -232,6 +242,12 @@ using fstream = basic_fstream<char, char_traits<char>>;
using syncbuf = basic_syncbuf<char>;
using osyncstream = basic_osyncstream<char>;
#endif // _HAS_CXX20
#if _HAS_CXX23
using spanbuf = basic_spanbuf<char>;
using ispanstream = basic_ispanstream<char>;
using ospanstream = basic_ospanstream<char>;
using spanstream = basic_spanstream<char>;
#endif // _HAS_CXX23

using wios = basic_ios<wchar_t, char_traits<wchar_t>>;
using wstreambuf = basic_streambuf<wchar_t, char_traits<wchar_t>>;
Expand All @@ -250,6 +266,12 @@ using wfstream = basic_fstream<wchar_t, char_traits<wchar_t>>;
using wsyncbuf = basic_syncbuf<wchar_t>;
using wosyncstream = basic_osyncstream<wchar_t>;
#endif // _HAS_CXX20
#if _HAS_CXX23
using wspanbuf = basic_spanbuf<wchar_t>;
using wispanstream = basic_ispanstream<wchar_t>;
using wospanstream = basic_ospanstream<wchar_t>;
using wspanstream = basic_spanstream<wchar_t>;
#endif // _HAS_CXX23

#if defined(_CRTBLD)
using ushistream = basic_istream<unsigned short, char_traits<unsigned short>>;
Expand Down
Loading

0 comments on commit 5d6a1f2

Please sign in to comment.