Skip to content

Commit 79ce9f0

Browse files
committed
add std::list to memusage
1 parent 59a35a7 commit 79ce9f0

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/memusage.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
#include <cassert>
1313
#include <cstdlib>
14+
#include <list>
1415
#include <map>
1516
#include <memory>
1617
#include <set>
@@ -148,6 +149,21 @@ static inline size_t DynamicUsage(const std::shared_ptr<X>& p)
148149
return p ? MallocUsage(sizeof(X)) + MallocUsage(sizeof(stl_shared_counter)) : 0;
149150
}
150151

152+
template<typename X>
153+
struct list_node
154+
{
155+
private:
156+
void* ptr_next;
157+
void* ptr_prev;
158+
X x;
159+
};
160+
161+
template<typename X>
162+
static inline size_t DynamicUsage(const std::list<X>& l)
163+
{
164+
return MallocUsage(sizeof(list_node<X>)) * l.size();
165+
}
166+
151167
template<typename X>
152168
struct unordered_node : private X
153169
{

0 commit comments

Comments
 (0)