namespace std {
template <class T, std::size_t N>
constexpr void swap(inplace_vector<T, N>& x, inplace_vector<T, N>& y)
noexcept(noexcept(x.swap(y))); // (1) C++26
}
概要
2つのinplace_vectorオブジェクトを入れ替える。
効果
x.swap(y)
戻り値
なし
計算量
x.size()とy.size()の大きいほうに対して線形時間
例
#include <print>
#include <inplace_vector>
int main()
{
std::inplace_vector<int, 5> v1 = {1, 2, 3};
std::inplace_vector<int, 5> v2 = {4, 5, 6};
std::swap(v1, v2);
for (int x : v1) std::print("{} ", x);
std::println("");
for (int x : v2) std::print("{} ", x);
std::println("");
}
出力
4 5 6
1 2 3
バージョン
言語
- C++26
処理系
- Clang: 23 ✅
- GCC: 16 ✅
- Visual C++: 2026 Update 2 ❌