diff options
Diffstat (limited to 'TAO/tao/AnyTypeCode/True_RefCount_Policy.inl')
-rw-r--r-- | TAO/tao/AnyTypeCode/True_RefCount_Policy.inl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/TAO/tao/AnyTypeCode/True_RefCount_Policy.inl b/TAO/tao/AnyTypeCode/True_RefCount_Policy.inl new file mode 100644 index 00000000000..87b1b1b9159 --- /dev/null +++ b/TAO/tao/AnyTypeCode/True_RefCount_Policy.inl @@ -0,0 +1,25 @@ +// -*- C++ -*- +// +// $Id$ + + +ACE_INLINE +TAO::True_RefCount_Policy::True_RefCount_Policy (void) + : refcount_ (1) +{ +} + +ACE_INLINE void +TAO::True_RefCount_Policy::add_ref (void) +{ + ++this->refcount_; +} + +ACE_INLINE void +TAO::True_RefCount_Policy::remove_ref (void) +{ + const unsigned long new_count = --this->refcount_; + + if (new_count == 0) + delete this; +} |