Namespaces
Variants

std::basic_ospanstream<CharT,Traits>:: basic_ospanstream

From cppreference.net

explicit basic_ospanstream ( std:: span < CharT > s, std:: ios_base :: openmode mode =
std:: ios_base :: out ) ;
(1) (C++23以降)
basic_ospanstream ( basic_ospanstream && rhs ) ;
(2) (C++23以降)
basic_ospanstream ( const basic_ospanstream & ) = delete ;
(3) (C++23以降)

basic_ospanstream を新しく構築します。

1) ラップされた std::basic_spanbuf デバイスの初期基盤バッファとして、 s によって参照されるストレージを使用します。ラップされた std::basic_spanbuf オブジェクトは basic_spanbuf < Char, Traits > ( s, mode | std:: ios_base :: out ) として構築されます。
2) ムーブコンストラクタ。基底サブオブジェクト std::basic_ostream とラップされた std::basic_spanbuf rhs のものからムーブ構築し、その後 set_rdbuf を呼び出して、 * this 内のラップされた std::basic_spanbuf のアドレスを設定する。
3) コピーコンストラクタは削除されています。 basic_ospanstream はコピーできません。

目次

パラメータ

s - std::span ストリームの初期基盤バッファとして使用するストレージを参照する
mode - ストリームのオープンモードを指定。以下の定数とそれらのビット単位ORを使用可能:
定数 説明
app 各書き込み前にストリームの終端へシーク
binary バイナリモード でオープン
in 読み取り用にオープン
out 書き込み用にオープン
trunc オープン時にストリームの内容を破棄
ate オープン直後にストリームの終端へシーク
noreplace (C++23) 排他モードでオープン
other - ムーブ元となる別の basic_ospanstream オブジェクト

例外

実装定義の例外をスローする可能性があります。

#include <array>
#include <iostream>
#include <spanstream>
int main()
{
    std::array<char, 10> buffer;
    std::ospanstream os(buffer);
    os << "i=" << 1 << " j=" << 2 << '\n' << std::ends;
    std::cout << buffer.data();
}

出力:

i=1 j=2

関連項目

basic_spanbuf オブジェクトを構築する
( std::basic_spanbuf<CharT,Traits> の公開メンバ関数)