From e3b8e723b1bd642d7ed19d49437a2e59d80a249e Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 26 Jul 2010 15:38:37 +0200 Subject: Fix for shared_ptr --- cutl/shared-ptr/base.txx | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'cutl') diff --git a/cutl/shared-ptr/base.txx b/cutl/shared-ptr/base.txx index dae6083..603575f 100644 --- a/cutl/shared-ptr/base.txx +++ b/cutl/shared-ptr/base.txx @@ -84,8 +84,8 @@ namespace cutl counter_ops (X const* p) : counter_ (p ? bits::counter (p) : 0) {} counter_ops (counter_ops const& x) : counter_ (x.counter_) {} - template - counter_ops (counter_ops const& x) : counter_ (x.counter_) {} + template + counter_ops (counter_ops const& x) : counter_ (x.counter_) {} counter_ops& operator= (counter_ops const& x) @@ -94,9 +94,9 @@ namespace cutl return *this; } - template + template counter_ops& - operator= (counter_ops const& x) + operator= (counter_ops const& x) { counter_ = x.counter_; return *this; @@ -137,6 +137,23 @@ namespace cutl struct counter_ops { counter_ops (Y const*) {} + counter_ops (counter_ops const&) {} + + template + counter_ops (counter_ops const&) {} + + counter_ops& + operator= (counter_ops const&) + { + return *this; + } + + template + counter_ops& + operator= (counter_ops const&) + { + return *this; + } void reset (Y const*) {} -- cgit v1.1