最終更新日時(UTC): 2025年08月11日 06時35分16秒
suomesta が更新

履歴 編集

function template
<spanstream>

# std::swap (非メンバ関数)(C++23)

    namespace std {
      template<class CharT, class Traits>
      void swap(basic_spanbuf<CharT, Traits>& x,
                basic_spanbuf<CharT, Traits>& y);
    }

## 概要

2つの`basic_spanbuf`オブジェクトを入れ替える。

## 効果

`x.swap(y)`

## 例

    #include <iostream>
    #include <span>
    #include <spanstream>

    int main()
    {
      char buf1[32] = "first";
      char buf2[32] = "second";
      std::spanbuf sb1{std::span<char>(buf1)};
      std::spanbuf sb2{std::span<char>(buf2)};

      // スワップ
      std::swap(sb1, sb2);

      std::cout << sb1.span().data() << std::endl;
      std::cout << sb2.span().data() << std::endl;
    }

### 出力

    second
    first

## バージョン

### 言語

- C++23

### 処理系

- Clang: ??
- GCC: ??
- Visual C++: ??