polymorphic_allocator select_on_container_copy_construction() const;
概要
polymorphic_allocator
を利用しているクラスのコピー構築時に、新しいpolymorphic_allocator
オブジェクトを取得する。
戻り値
return polymorphic_allocator();
備考
すなわち、標準のpolymorphic_allocator
を利用しているクラス(主にコンテナ)のコピー構築時に、利用しているmemory_resource
がコピーされる(伝播する)事は無い。
例
#include <iostream>
#include <memory_resource>
int main()
{
auto mr = std::pmr::monotonic_buffer_resource{};
std::pmr::polymorphic_allocator<int> alloc{ &mr };
auto alloc2 = alloc.select_on_container_copy_construction();
std::cout << std::boolalpha;
std::cout << (alloc == alloc2) << std::endl;
}
出力
false
バージョン
言語
- C++17
処理系
- Clang: ??
- GCC: 9.1 ✅
- Visual C++: 2017 update 6 ✅