實驗性庫標頭檔案 <experimental/memory_resource>
來自 cppreference.com
此標頭檔案是 Library Fundamentals TS(v1、v2、v3)的一部分。
目錄 |
[編輯] 類
定義於名稱空間
std::experimental::pmr | |
封裝記憶體資源的類的抽象介面 (類) | |
一個執行緒安全的 memory_resource,用於管理不同塊大小記憶體池中的分配 (類) | |
一個非執行緒安全的 memory_resource,用於管理不同塊大小記憶體池中的分配 (類) | |
一種特殊的 memory_resource,僅當資源被銷燬時才釋放已分配的記憶體 (類) | |
一種支援執行時多型的分配器,基於其構造時使用的 memory_resource (類模板) | |
將分配器適配為 memory_resource (別名模板) |
[編輯] 函式
定義於名稱空間
std::experimental::pmr | |
比較 | |
比較兩個 memory_resource (函式) | |
比較兩個分配器 (函式模板) | |
全域性記憶體資源 | |
返回一個靜態的程式範圍的 memory_resource ,它使用全域性的 operator new 和 operator delete 來分配和釋放記憶體(函式) | |
返回一個靜態的 memory_resource ,它不執行任何分配(函式) | |
預設記憶體資源 | |
獲取預設的 memory_resource (函式) | |
設定預設的 memory_resource (函式) |
[編輯] 概要
namespace std { namespace experimental { inline namespace fundamentals_v1 { namespace pmr { class memory_resource; bool operator==(const memory_resource& a, const memory_resource& b) noexcept; bool operator!=(const memory_resource& a, const memory_resource& b) noexcept; template <class Tp> class polymorphic_allocator; template <class T1, class T2> bool operator==(const polymorphic_allocator<T1>& a, const polymorphic_allocator<T2>& b) noexcept; template <class T1, class T2> bool operator!=(const polymorphic_allocator<T1>& a, const polymorphic_allocator<T2>& b) noexcept; // The name resource_adaptor_imp is for exposition only. template <class Allocator> class resource_adaptor_imp; template <class Allocator> using resource_adaptor = resource_adaptor_imp< typename allocator_traits<Allocator>::template rebind_alloc<char>>; // Global memory resources memory_resource* new_delete_resource() noexcept; memory_resource* null_memory_resource() noexcept; // The default memory resource memory_resource* set_default_resource(memory_resource* r) noexcept; memory_resource* get_default_resource() noexcept; // Standard memory resources struct pool_options; class synchronized_pool_resource; class unsynchronized_pool_resource; class monotonic_buffer_resource; } // namespace pmr } // namespace fundamentals_v1 } // namespace experimental } // namespace std