1 #ifndef _library__memtracker__hpp__included__
2 #define _library__memtracker__hpp__included__
12 void operator()(const char* category
, ssize_t change
);
13 void reset(const char* category
, size_t value
);
14 std::map
<std::string
, size_t> report();
15 static memtracker
& singleton();
19 autorelease(memtracker
& _track
, const char* cat
, size_t amount
)
20 : tracker(_track
), category(cat
), committed(amount
)
22 tracker(category
, committed
);
26 tracker(category
, -(ssize_t
)committed
);
28 void operator()(ssize_t delta
)
30 if(delta
< 0 && committed
< (size_t)-delta
) {
31 tracker(category
, -(ssize_t
)committed
);
34 tracker(category
, delta
);
35 committed
= committed
+ delta
;
46 std::map
<std::string
, size_t> data
;
47 memtracker(const memtracker
&);
48 memtracker
& operator=(const memtracker
&);