std::basic_spanstream<CharT,Traits>::basic_spanstream

From cppreference.com
< cpp‎ | io‎ | basic spanstream

 
 
 
std::basic_spanstream
Member functions
basic_spanstream::basic_spanstream
(C++23)
Underlying buffer operations
Non-member functions
 
explicit basic_spanstream( std::span<CharT> s, std::ios_base::openmode mode =
                               std::ios_base::in | std::ios_base::out );
(1) (since C++23)
basic_spanstream( basic_spanstream&& rhs );
(2) (since C++23)
basic_spanstream( const basic_spanstream& ) = delete;
(3) (since C++23)

Constructs a new basic_spanstream.

1) Uses the storage referenced by s as initial underlying buffer of the wrapped std::basic_spanbuf device. The wrapped std::basic_spanbuf object is constructed as basic_spanbuf<Char, Traits>(s, mode).
2) Move constructor. Move constructs the std::basic_iostream base subobject and the wrapped std::basic_spanbuf from those of rhs, and then calls set_rdbuf with the address of the wrapped std::basic_spanbuf in *this to install it.
3) Copy constructor is deleted. basic_spanstream is not copyable.

Parameters

s - std::span referencing the storage to be use as initial underlying buffer of stream
mode - specifies stream open mode. Following constants and bit-wise OR between them may be used:
Constant Explanation
app seek to the end of stream before each write
binary open in binary mode
in open for reading
out open for writing
trunc discard the contents of the stream when opening
ate seek to the end of stream immediately after open
noreplace (C++23) open in exclusive mode
other - another basic_spanstream to be moved from

Exceptions

May throw implementation-defined exceptions.

Example

See also

constructs a basic_spanbuf object
(public member function of std::basic_spanbuf<CharT,Traits>)