|
static size_t | MallocUsage (size_t alloc) |
| Compute the total memory used by allocating alloc bytes. More...
|
|
static size_t | DynamicUsage (const int8_t &v) |
| Dynamic memory usage for built-in types is zero. More...
|
|
static size_t | DynamicUsage (const uint8_t &v) |
|
static size_t | DynamicUsage (const int16_t &v) |
|
static size_t | DynamicUsage (const uint16_t &v) |
|
static size_t | DynamicUsage (const int32_t &v) |
|
static size_t | DynamicUsage (const uint32_t &v) |
|
static size_t | DynamicUsage (const int64_t &v) |
|
static size_t | DynamicUsage (const uint64_t &v) |
|
static size_t | DynamicUsage (const float &v) |
|
static size_t | DynamicUsage (const double &v) |
|
template<typename X > |
static size_t | DynamicUsage (X *const &v) |
|
template<typename X > |
static size_t | DynamicUsage (const X *const &v) |
|
template<typename T , typename Allocator > |
static size_t | DynamicUsage (const std::vector< T, Allocator > &v) |
|
static size_t | DynamicUsage (const std::string &s) |
|
template<unsigned int N, typename X , typename S , typename D > |
static size_t | DynamicUsage (const prevector< N, X, S, D > &v) |
|
template<typename X , typename Y > |
static size_t | DynamicUsage (const std::set< X, Y > &s) |
|
template<typename X , typename Y > |
static size_t | IncrementalDynamicUsage (const std::set< X, Y > &s) |
|
template<typename X , typename Y , typename Z > |
static size_t | DynamicUsage (const std::map< X, Y, Z > &m) |
|
template<typename X , typename Y , typename Z > |
static size_t | IncrementalDynamicUsage (const std::map< X, Y, Z > &m) |
|
template<typename X , typename Y > |
static size_t | DynamicUsage (const indirectmap< X, Y > &m) |
|
template<typename X , typename Y > |
static size_t | IncrementalDynamicUsage (const indirectmap< X, Y > &m) |
|
template<typename X > |
static size_t | DynamicUsage (const std::unique_ptr< X > &p) |
|
template<typename X > |
static size_t | DynamicUsage (const std::shared_ptr< X > &p) |
|
template<typename X > |
static size_t | DynamicUsage (const std::list< X > &l) |
|
template<typename X , typename Y > |
static size_t | DynamicUsage (const std::unordered_set< X, Y > &s) |
|
template<typename X , typename Y , typename Z > |
static size_t | DynamicUsage (const std::unordered_map< X, Y, Z > &m) |
|
template<class Key , class T , class Hash , class Pred , std::size_t MAX_BLOCK_SIZE_BYTES, std::size_t ALIGN_BYTES> |
static size_t | DynamicUsage (const std::unordered_map< Key, T, Hash, Pred, PoolAllocator< std::pair< const Key, T >, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES > > &m) |
|
static size_t memusage::MallocUsage |
( |
size_t |
alloc | ) |
|
|
inlinestatic |
Compute the total memory used by allocating alloc bytes.
Compute the memory used for dynamically allocated but owned data structures.
For generic data types, this is not recursive. DynamicUsage(vector<vector<int> >) will compute the memory used for the vector<int>'s, but not for the ints inside. This is for efficiency reasons, as these functions are intended to be fast. If application data structures require more accurate inner accounting, they should iterate themselves, or use more efficient caching + updating on modification.
Definition at line 52 of file memusage.h.