 |
Block-Structured AMR Software Framework
|
|
Go to the documentation of this file. 1 #ifndef AMREX_D_ARENA_H_
2 #define AMREX_D_ARENA_H_
3 #include <AMReX_Config.H>
8 #include <unordered_set>
9 #include <unordered_map>
24 DArena (std::size_t max_size, std::size_t max_block_size,
ArenaInfo info);
33 virtual void*
alloc (std::size_t nbytes)
override final;
34 virtual void free (
void* p)
override final;
44 std::unordered_map<std::ptrdiff_t,int>
m_used;
45 std::unordered_map<void*,std::size_t>
m_system;
std::size_t freeMem() const
Definition: AMReX_DArena.cpp:160
virtual ~DArena() override
Definition: AMReX_DArena.cpp:53
void deallocate_order(int order, std::ptrdiff_t offset)
Definition: AMReX_DArena.cpp:147
static constexpr int m_max_max_order
Definition: AMReX_DArena.H:40
A virtual base class for objects that manage their own dynamic memory allocation.
Definition: AMReX_Arena.H:84
std::size_t m_block_size
Definition: AMReX_DArena.H:48
DArena & operator=(DArena const &)=delete
Definition: AMReX_Arena.H:36
DArena(std::size_t max_size, std::size_t max_block_size, ArenaInfo info)
Definition: AMReX_DArena.cpp:22
std::ptrdiff_t allocate_order(int order)
Definition: AMReX_DArena.cpp:128
std::array< std::unordered_set< std::ptrdiff_t >, m_max_max_order+1 > m_free
Definition: AMReX_DArena.H:42
bool warning_printed
Definition: AMReX_DArena.H:51
std::size_t totalMem() const
Definition: AMReX_DArena.H:36
Definition: AMReX_DArena.H:19
int m_max_order
Definition: AMReX_DArena.H:49
std::unordered_map< std::ptrdiff_t, int > m_used
Definition: AMReX_DArena.H:44
std::mutex m_mutex
Definition: AMReX_DArena.H:50
char * m_baseptr
Definition: AMReX_DArena.H:46
virtual void * alloc(std::size_t nbytes) override final
Definition: AMReX_DArena.cpp:62
Definition: AMReX_Amr.cpp:49
std::unordered_map< void *, std::size_t > m_system
Definition: AMReX_DArena.H:45
virtual void free(void *p) override final
A pure virtual function for deleting the arena pointed to by pt.
Definition: AMReX_DArena.cpp:105
std::size_t m_max_size
Definition: AMReX_DArena.H:47