Flow
Documentation for the Flow C++ Library
Loading...
Searching...
No Matches
flow::DefaultMemoryResource Class Reference

A default memory resource that wraps global ::operator new and ::operator delete. More...

#include <flow_default_memory_resource.h>

Inheritance diagram for flow::DefaultMemoryResource:

Static Public Member Functions

static DefaultMemoryResourcegetResource ()

Private Member Functions

virtual void * allocateImp (std::size_t bytes, std::size_t alignment)
virtual void deallocateImp (void *address, std::size_t bytes, std::size_t alignment)

Additional Inherited Members

Public Member Functions inherited from flow::MemoryResource
virtual ~MemoryResource ()=default
void * allocate (std::size_t bytes, std::size_t alignment=alignof(std::max_align_t))
void deallocate (void *address, std::size_t bytes, std::size_t alignment=alignof(std::max_align_t))

Detailed Description

A default memory resource that wraps global ::operator new and ::operator delete.

Definition at line 8 of file flow_default_memory_resource.h.

Member Function Documentation

◆ allocateImp()

virtual void * flow::DefaultMemoryResource::allocateImp ( std::size_t bytes,
std::size_t alignment )
inlineprivatevirtual

Implements flow::MemoryResource.

Definition at line 16 of file flow_default_memory_resource.h.

16 {
17 return ::operator new(bytes, static_cast<std::align_val_t>(alignment));
18 }

◆ deallocateImp()

virtual void flow::DefaultMemoryResource::deallocateImp ( void * address,
std::size_t bytes,
std::size_t alignment )
inlineprivatevirtual

Implements flow::MemoryResource.

Definition at line 20 of file flow_default_memory_resource.h.

20 {
21 ::operator delete(address, static_cast<std::align_val_t>(alignment));
22 }

◆ getResource()

DefaultMemoryResource & flow::DefaultMemoryResource::getResource ( )
inlinestatic

Definition at line 10 of file flow_default_memory_resource.h.

10 {
11 static DefaultMemoryResource instance{};
12 return instance;
13 }

The documentation for this class was generated from the following file: