summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.inl
blob: 2dedf719c6042182045945926381a078171b9a0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// $Id$

template <class T> ACE_INLINE
TAO_Notify_Refcountable_Guard_T<T>::TAO_Notify_Refcountable_Guard_T (T *t)
  : t_ (t)
{
  if (this->t_ != 0)
    {
      this->t_->_incr_refcnt ();
    }
}

template <class T> ACE_INLINE
TAO_Notify_Refcountable_Guard_T<T>::~TAO_Notify_Refcountable_Guard_T ()
{
  if (this->t_ != 0)
    {
      this->t_->_decr_refcnt ();
    }
}

template <class T> ACE_INLINE T*
TAO_Notify_Refcountable_Guard_T<T>::get (void) const
{
  return this->t_;
}

template <class T> ACE_INLINE T*
TAO_Notify_Refcountable_Guard_T<T>::operator-> (void) const
{
  ACE_ASSERT (this->t_ != 0);
  return this->t_;
}

template <class T> ACE_INLINE T&
TAO_Notify_Refcountable_Guard_T<T>::operator *(void) const
{
  ACE_ASSERT (this->t_ != 0);
  return *this->t_;
}