From fc67e1515a5c9165ef3a953db603578eadf582ff Mon Sep 17 00:00:00 2001 From: "wrenczes@gmail.com" Date: Sat, 23 Apr 2011 08:43:34 +0000 Subject: [PATCH] Added some calls for tracking dynamic allocations to the InstanceCounter. --- projects/mtg/include/ObjectAnalytics.h | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/projects/mtg/include/ObjectAnalytics.h b/projects/mtg/include/ObjectAnalytics.h index 7915b6cbb..db610a54c 100644 --- a/projects/mtg/include/ObjectAnalytics.h +++ b/projects/mtg/include/ObjectAnalytics.h @@ -1,7 +1,7 @@ #ifndef OBJECTANALYTICS_H #define OBJECTANALYTICS_H -#ifdef DEBUG +#ifdef _DEBUG #define TRACK_OBJECT_USAGE #endif @@ -18,6 +18,7 @@ namespace ObjectAnalytics #define SUPPORT_OBJECT_ANALYTICS(classname) \ template <> unsigned int InstanceCounter::sHighWaterMark = 0; \ template <> unsigned int InstanceCounter::sInstanceCount = 0; \ +template <> uint64_t InstanceCounter::sDynamicMemoryAllocated = 0; /** @@ -76,8 +77,24 @@ public: return sizeof(T) * sHighWaterMark; } + void IncrementDynamicMemoryUsage(uint64_t inMemoryIncrease) + { + sDynamicMemoryAllocated += inMemoryIncrease; + } + + void DecrementDynamicMemoryUsage(uint64_t inMemoryDecrease) + { + sDynamicMemoryAllocated -= inMemoryDecrease; + } + + static uint64_t GetDynamicAllocationsCount() + { + return sDynamicMemoryAllocated; + } + static unsigned int sInstanceCount; static unsigned int sHighWaterMark; + static uint64_t sDynamicMemoryAllocated; }; #else