Merge pull request #1551 from DOCGroup/plm_jira_333
[ACE_TAO.git] / TAO / tao / ORB_Table.inl
blob8994755cbb4151c2740abaf95cac816f0f58cc14
1 // -*- C++ -*-
2 #include "tao/ORB_Core.h"
4 #include <algorithm>
6 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
8 ACE_INLINE ::TAO_ORB_Core *
9 TAO::ORB_Table::first_orb (void)
11   return this->first_orb_;
14 ACE_INLINE TAO::ORB_Table::iterator
15 TAO::ORB_Table::begin (void)
17   return this->table_.begin ();
20 ACE_INLINE TAO::ORB_Table::iterator
21 TAO::ORB_Table::end (void)
23   return this->table_.end ();
26 /// Accessor to the underlying table_
27 ACE_INLINE TAO::ORB_Table::Table *
28 TAO::ORB_Table::table (void)
30   return &this->table_;
33 ACE_INLINE TAO_SYNCH_MUTEX &
34 TAO::ORB_Table::lock (void)
36   return this->lock_;
39 // ****************************************************************
41 ACE_INLINE
42 TAO::ORB_Core_Ref_Counter::ORB_Core_Ref_Counter (void)
43   : core_ (0)
47 ACE_INLINE
48 TAO::ORB_Core_Ref_Counter::ORB_Core_Ref_Counter (::TAO_ORB_Core * core)
49   : core_ (core)
51 //   ACE_ASSERT (core != 0);
53   // Note that the TAO_ORB_Core pointer should always be valid in this
54   // constructor.
56   // Claim ownership.
57   (void) this->core_->_incr_refcnt ();
60 ACE_INLINE
61 TAO::ORB_Core_Ref_Counter::~ORB_Core_Ref_Counter (void)
63   if (this->core_)
64     (void) this->core_->_decr_refcnt (); // Should never throw.
67 ACE_INLINE
68 TAO::ORB_Core_Ref_Counter::ORB_Core_Ref_Counter (
69   TAO::ORB_Core_Ref_Counter const & rhs)
70   : core_ (rhs.core_)
72   // Claim ownership.
73   if (this->core_)
74     (void) this->core_->_incr_refcnt ();
77 ACE_INLINE void
78 TAO::ORB_Core_Ref_Counter::operator= (TAO::ORB_Core_Ref_Counter const & rhs)
80   // Strongly exception safe.  May not be strictly necessary, but
81   // let's do things the right way, regardless.
82   TAO::ORB_Core_Ref_Counter tmp (rhs);
83   std::swap (this->core_, tmp.core_);
86 TAO_END_VERSIONED_NAMESPACE_DECL