From f5292fd9f71de7d31f10bb5593b64a3f98418c75 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Sun, 8 Jul 2012 11:54:47 +0000 Subject: [PATCH] Unordered: Simplify the object count stuff. [SVN r79355] --- test/helpers/count.hpp | 24 ++++++++---------------- test/objects/test.hpp | 4 ++-- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/test/helpers/count.hpp b/test/helpers/count.hpp index aec44fd9..b81b7e2b 100644 --- a/test/helpers/count.hpp +++ b/test/helpers/count.hpp @@ -52,30 +52,22 @@ namespace test { } }; - template - struct counted_object - { - static object_count count_; - - counted_object() { count_.construct(); } - counted_object(counted_object const&) { count_.construct(); } - ~counted_object() { count_.destruct(); } - }; - - template object_count counted_object::count_; - - struct globally_counted_object - : counted_object {}; - // This won't be a problem as I'm only using a single compile unit // in each test (this is actually require by the minimal test // framework). // // boostinspect:nounnamed namespace { - object_count& global_object_count = globally_counted_object::count_; + object_count global_object_count; } + struct counted_object + { + counted_object() { global_object_count.construct(); } + counted_object(counted_object const&) { global_object_count.construct(); } + ~counted_object() { global_object_count.destruct(); } + }; + struct check_instances { int instances; diff --git a/test/objects/test.hpp b/test/objects/test.hpp index 5281699c..62aae7aa 100644 --- a/test/objects/test.hpp +++ b/test/objects/test.hpp @@ -26,7 +26,7 @@ namespace test object generate(object const*); implicitly_convertible generate(implicitly_convertible const*); - class object : private globally_counted_object + class object : private counted_object { friend class hash; friend class equal_to; @@ -64,7 +64,7 @@ namespace test } }; - class implicitly_convertible : private globally_counted_object + class implicitly_convertible : private counted_object { int tag1_, tag2_; public: