diff options
Diffstat (limited to 'Carpet/CarpetLib/src/mem.cc')
-rw-r--r-- | Carpet/CarpetLib/src/mem.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Carpet/CarpetLib/src/mem.cc b/Carpet/CarpetLib/src/mem.cc index b6b1c9c8e..d8603591b 100644 --- a/Carpet/CarpetLib/src/mem.cc +++ b/Carpet/CarpetLib/src/mem.cc @@ -150,6 +150,25 @@ has_clients () const +// Memory usage +template<typename T> +size_t +mem<T>:: +memory () + const +{ + return + memoryof (storage_) + + memoryof (nelems_) + + memoryof (vectorlength_) + + memoryof (owns_storage_) + + memoryof (clients_) + + memoryof (num_clients_) + + (owns_storage_ ? sizeof (T) * vectorlength_ * nelems_ : 0); +} + + + size_t const mempool::chunksize; size_t const mempool::align; @@ -205,6 +224,25 @@ alloc (size_t nbytes) +// Memory usage +size_t +mempool:: +memory () + const +{ + return + memoryof (chunks) + + memoryof (freeptr) + + memoryof (freesize) + + (chunksize * chunks.size()); +} + + + +//////////////////////////////////////////////////////////////////////////////// + + + extern "C" void CarpetLib_setmemlimit (CCTK_ARGUMENTS); void CarpetLib_setmemlimit (CCTK_ARGUMENTS) |