aboutsummaryrefslogtreecommitdiff
path: root/src/core_memusage.h
diff options
context:
space:
mode:
authorRussell Yanofsky <russ@yanofsky.org>2016-11-21 11:47:12 -0500
committerSuhas Daftuar <sdaftuar@gmail.com>2017-05-04 16:50:52 -0400
commitc1235e3f2dd5b01b63b020d1b8f7283e8badaf09 (patch)
treee9ea1cd546eb391da083a0dadbabb4ccc82d0842 /src/core_memusage.h
parent71f1903353e6452fd4e80e8ae698a49d16a7b61d (diff)
downloadbitcoin-c1235e3f2dd5b01b63b020d1b8f7283e8badaf09.tar.xz
Add RecursiveDynamicUsage overload for std::shared_ptr
This simplifies a few usage expressions.
Diffstat (limited to 'src/core_memusage.h')
-rw-r--r--src/core_memusage.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core_memusage.h b/src/core_memusage.h
index 5e10182075..e4ccd54c42 100644
--- a/src/core_memusage.h
+++ b/src/core_memusage.h
@@ -63,4 +63,9 @@ static inline size_t RecursiveDynamicUsage(const CBlockLocator& locator) {
return memusage::DynamicUsage(locator.vHave);
}
+template<typename X>
+static inline size_t RecursiveDynamicUsage(const std::shared_ptr<X>& p) {
+ return p ? memusage::DynamicUsage(p) + RecursiveDynamicUsage(*p) : 0;
+}
+
#endif // BITCOIN_CORE_MEMUSAGE_H