最終更新日時(UTC):
が更新

履歴 編集

function
<stacktrace>

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

namespace std {
  template <class Allocator>
  void swap(basic_stacktrace<Allocator>& a,
            basic_stacktrace<Allocator>& b)
        noexcept(noexcept(a.swap(b)));      // (1) C++23
}

概要

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

効果

以下と等価:

a.swap(b);

#include <iostream>
#include <stacktrace>

void g() {
  std::stacktrace a = std::stacktrace::current();
  std::stacktrace b = std::stacktrace::current();
  std::swap(a, b);

  std::cout << a << std::endl; // bで取得したスタックトレースが出力される
}

void f() {
  g();
}

int main() {
  f();
}

出力例

 0# g() at main.cpp:6
 1# f() at main.cpp:13
 2# main at main.cpp:17

バージョン

言語

  • C++23

処理系