最終更新日時(UTC): 2024年06月11日 13時45分38秒
Akira Takahashi が更新

履歴 編集

function
<syncstream>

# std::basic_osyncstream::get_wrapped(C++20)

    streambuf_type* get_wrapped() const noexcept;

## 概要

プライベートメンバの`std::basic_syncbuf`に、ラップされた`std::basic_streambuf`へのポインタを取得する。

## 戻り値

プライベートメンバの`std::basic_syncbuf`のメンバ関数`get_wrapped()`を呼び出した結果を返す。

## 例外

投げない。

## 例

`get_wrapped()`でラップされたストリームバッファを取得することで、それを`osyncstream`で再度ラップすることができる。

    #include <syncstream>
    #include <iostream>

    int main()
    {
      std::osyncstream bout1(std::cout);
      bout1 << "Hello, ";
      {
        std::osyncstream(bout1.get_wrapped()) << "Goodbye, " << "Planet!" << '\n';
      }
      bout1 << "World!" << '\n';
    }

### 出力

    Goodbye, Planet!
    Hello, World!

## バージョン

### 言語

- C++20

### 処理系

- Clang: ??
- GCC: 11.1 ✅
- Visual C++: 2019 update 10 ✅

## 参照

- P0053R7 C++ Synchronized Buffered Ostream