Bitcoin Core  27.99.0
P2P Digital Currency
Classes | Namespaces | Functions
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 <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

 memusage
 

Functions

static size_t memusage::MallocUsage (size_t alloc)
 Compute the total memory used by allocating alloc bytes. More...
 
static size_t memusage::DynamicUsage (const int8_t &v)
 Dynamic memory usage for built-in types is zero. More...
 
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 X >
static size_t memusage::DynamicUsage (const std::vector< X > &v)
 
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)