Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
memusage.h File Reference
#include <indirectmap.h>
#include <prevector.h>
#include <support/allocators/pool.h>
#include <cassert>
#include <cstdlib>
#include <list>
#include <map>
#include <memory>
#include <set>
#include <string>
#include <vector>
#include <unordered_map>
#include <unordered_set>
Include dependency graph for memusage.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  memusage::stl_tree_node< X >
struct  memusage::stl_shared_counter
struct  memusage::list_node< X >
struct  memusage::unordered_node< X >

Namespaces

namespace  memusage

Functions

static size_t memusage::MallocUsage (size_t alloc)
 Compute the total memory used by allocating alloc bytes.
static size_t memusage::DynamicUsage (const int8_t &v)
 Dynamic memory usage for built-in types is zero.
static size_t memusage::DynamicUsage (const uint8_t &v)
static size_t memusage::DynamicUsage (const int16_t &v)
static size_t memusage::DynamicUsage (const uint16_t &v)
static size_t memusage::DynamicUsage (const int32_t &v)
static size_t memusage::DynamicUsage (const uint32_t &v)
static size_t memusage::DynamicUsage (const int64_t &v)
static size_t memusage::DynamicUsage (const uint64_t &v)
static size_t memusage::DynamicUsage (const float &v)
static size_t memusage::DynamicUsage (const double &v)
template<typename X>
static size_t memusage::DynamicUsage (X *const &v)
template<typename X>
static size_t memusage::DynamicUsage (const X *const &v)
template<typename T, typename Allocator>
static size_t memusage::DynamicUsage (const std::vector< T, Allocator > &v)
static size_t memusage::DynamicUsage (const std::string &s)
template<unsigned int N, typename X, typename S, typename D>
static size_t memusage::DynamicUsage (const prevector< N, X, S, D > &v)
template<typename X, typename Y>
static size_t memusage::DynamicUsage (const std::set< X, Y > &s)
template<typename X, typename Y>
static size_t memusage::IncrementalDynamicUsage (const std::set< X, Y > &s)
template<typename X, typename Y, typename Z>
static size_t memusage::DynamicUsage (const std::map< X, Y, Z > &m)
template<typename X, typename Y, typename Z>
static size_t memusage::IncrementalDynamicUsage (const std::map< X, Y, Z > &m)
template<typename X, typename Y>
static size_t memusage::DynamicUsage (const indirectmap< X, Y > &m)
template<typename X, typename Y>
static size_t memusage::IncrementalDynamicUsage (const indirectmap< X, Y > &m)
template<typename X>
static size_t memusage::DynamicUsage (const std::unique_ptr< X > &p)
template<typename X>
static size_t memusage::DynamicUsage (const std::shared_ptr< X > &p)
template<typename X>
static size_t memusage::DynamicUsage (const std::list< X > &l)
template<typename X, typename Y>
static size_t memusage::DynamicUsage (const std::unordered_set< X, Y > &s)
template<typename X, typename Y, typename Z>
static size_t memusage::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 memusage::DynamicUsage (const std::unordered_map< Key, T, Hash, Pred, PoolAllocator< std::pair< const Key, T >, MAX_BLOCK_SIZE_BYTES, ALIGN_BYTES > > &m)