aboutsummaryrefslogtreecommitdiff
path: root/odb/shared-ptr/base.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/shared-ptr/base.cxx')
-rw-r--r--odb/shared-ptr/base.cxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/odb/shared-ptr/base.cxx b/odb/shared-ptr/base.cxx
index 56fc32c..197d20b 100644
--- a/odb/shared-ptr/base.cxx
+++ b/odb/shared-ptr/base.cxx
@@ -21,6 +21,20 @@ namespace odb
{
return "object is not shared";
}
+
+ bool shared_base::
+ _dec_ref_callback ()
+ {
+ bool r (--counter_ == 0);
+
+ if (r)
+ {
+ callback_->zero_counter (callback_->arg);
+ r = (counter_ == 0);
+ }
+
+ return r;
+ }
}
//