5 #ifndef BITCOIN_MEMUSAGE_H
6 #define BITCOIN_MEMUSAGE_H
18 #include <unordered_map>
19 #include <unordered_set>
39 template<
typename X>
static inline size_t DynamicUsage(
X *
const &v) {
return 0; }
40 template<
typename X>
static inline size_t DynamicUsage(
const X *
const &v) {
return 0; }
55 }
else if (
sizeof(
void*) == 8) {
56 return ((alloc + 31) >> 4) << 4;
57 }
else if (
sizeof(
void*) == 4) {
58 return ((alloc + 15) >> 3) << 3;
92 template<
unsigned int N,
typename X,
typename S,
typename D>
98 template<
typename X,
typename Y>
104 template<
typename X,
typename Y>
110 template<
typename X,
typename Y,
typename Z>
116 template<
typename X,
typename Y,
typename Z>
124 template<
typename X,
typename Y>
130 template<
typename X,
typename Y>
158 template<
typename X,
typename Y>
164 template<
typename X,
typename Y,
typename Z>
165 static inline size_t DynamicUsage(
const std::unordered_map<X, Y, Z>& m)
172 #endif // BITCOIN_MEMUSAGE_H