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

履歴 編集

class
<memory_resource>

std::pmr::polymorphic_allocator(C++17)

namespace std::pmr {
  template <class Tp>
  class polymorphic_allocator;
}

概要

polymorphic_allocatorは任意のmemory_resource実装によりメモリ確保・解放戦略に関わる実際の処理を動的に切り替えることのできるアロケータである。この様な設計は一般にStrategyパターンというデザインパターンの一つとして知られている。

このクラスとmemory_resourceの利用により、同じ静的型polymorphic_allocator<Tp>で実行時に異なるメモリの確保・解放戦略をとるアロケータの利用が可能になる。

メンバ関数

名前 説明 対応バージョン
(constructor) コンストラクタ C++17
operator=(const polymorphic_allocator& rhs) = delete; コピー代入演算子(コピー禁止) C++17
allocate メモリを確保する C++17
deallocate メモリを解放する C++17
construct 指定された領域にオブジェクトを構築する C++17
destroy 指定された領域のオブジェクトを破棄する C++17
select_on_container_copy_construction コンテナのコピー構築時に新しいpolymorphic_allocator<Tp>を取得する C++17
resource 使用しているmemory_resourceを取得する C++17

メンバ型

名前 説明 対応バージョン
value_type 確保・解放を行う対象の型 C++17

非メンバ関数

名前 説明 対応バージョン
operator== 等値比較 C++17
operator!= 非等値比較 C++17

バージョン

言語

  • C++17

処理系

関連項目

参照