explicit basic_ispanstream( std::span<CharT> s, std::ios_base::openmode mode = std::ios_base::in ); | (1) | (since C++23) |
template< class ROS > explicit basic_ispanstream( ROS&& r ); | (2) | (since C++23) |
basic_ispanstream( basic_ispanstream&& rhs ); | (3) | (since C++23) |
basic_ispanstream( const basic_ispanstream& ) = delete; | (4) | (since C++23) |
Constructs a new basic_ispanstream
.
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 | std::ios_base::in)
.r
after converted to std::span<const CharT>
as initial underlying buffer of the wrapped std::basic_spanbuf
device. The wrapped std::basic_spanbuf
object is opened in mode std::ios_base::in
. This overload participates in overload resolution only if ROS
models borrowed_range
, std::convertible_to<ROS, std::span<CharT>>
is false
, and std::convertible_to<ROS, std::span<const CharT>>
is true
.std::basic_istream
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.basic_ispanstream
is not copyable.s | - | std::span referencing the storage to be use as initial underlying buffer of stream |
||||||||||||||||
r | - | borrowed_range 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:
|
||||||||||||||||
other | - | another basic_ispanstream to be moved from |
May throw implementation-defined exceptions.
(C++23) | constructs a basic_spanbuf object (public member function of std::basic_spanbuf<CharT,Traits> ) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_ispanstream/basic_ispanstream