summaryrefslogtreecommitdiff
path: root/cpp/src/tests/RefCounted.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/tests/RefCounted.cpp')
-rw-r--r--cpp/src/tests/RefCounted.cpp27
1 files changed, 2 insertions, 25 deletions
diff --git a/cpp/src/tests/RefCounted.cpp b/cpp/src/tests/RefCounted.cpp
index d111d58712..cd08a4491a 100644
--- a/cpp/src/tests/RefCounted.cpp
+++ b/cpp/src/tests/RefCounted.cpp
@@ -17,39 +17,16 @@
*/
#include "qpid/RefCounted.h"
+#include <boost/intrusive_ptr.hpp>
#include "unit_test.h"
QPID_AUTO_TEST_SUITE(RefCountedTestSuiteTestSuite)
+using boost::intrusive_ptr;
using namespace std;
using namespace qpid;
-struct DummyCounted : public AbstractRefCounted {
- DummyCounted() : count(0) {}
- mutable int count;
- virtual void addRef() const { count++; }
- virtual void release() const { count--; }
-};
-
-BOOST_AUTO_TEST_CASE(testIntrusivePtr) {
- DummyCounted dummy;
- BOOST_CHECK_EQUAL(0, dummy.count);
- {
- intrusive_ptr<DummyCounted> p(&dummy);
- BOOST_CHECK_EQUAL(1, dummy.count);
- {
- intrusive_ptr<DummyCounted> q(p);
- BOOST_CHECK_EQUAL(2, dummy.count);
- intrusive_ptr<DummyCounted> r;
- r=q;
- BOOST_CHECK_EQUAL(3, dummy.count);
- }
- BOOST_CHECK_EQUAL(1, dummy.count);
- }
- BOOST_CHECK_EQUAL(0, dummy.count);
-}
-
struct CountMe : public RefCounted {
static int instances;
CountMe() { ++instances; }