Files
2025-10-25 03:02:53 +03:00

1.2 KiB

[mem.res.class.general]

20 Memory management library [mem]

20.5 Memory resources [mem.res]

20.5.2 Class memory_resource [mem.res.class]

20.5.2.1 General [mem.res.class.general]

1

#

The memory_resource class is an abstract interface to an unbounded set of classes encapsulating memory resources.

🔗

namespace std::pmr {class memory_resource {static constexpr size_t max_align = alignof(max_align_t); // exposition onlypublic: memory_resource() = default; memory_resource(const memory_resource&) = default; virtual ~memory_resource();

memory_resource& operator=(const memory_resource&) = default; void* allocate(size_t bytes, size_t alignment = max_align); void deallocate(void* p, size_t bytes, size_t alignment = max_align); bool is_equal(const memory_resource& other) const noexcept; private:virtual void* do_allocate(size_t bytes, size_t alignment) = 0; virtual void do_deallocate(void* p, size_t bytes, size_t alignment) = 0; virtual bool do_is_equal(const memory_resource& other) const noexcept = 0; };}