Revert "Use a variable on the stack to not have a temporary in the call"
[ACE_TAO.git] / TAO / tao / Object_Ref_Table.inl
blobc69c8fbf510e49a2f9633a541ea0d0b847b2a8b9
1 // -*- C++ -*-
2 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
4 ACE_INLINE
5 TAO_Object_Ref_Table::TAO_Object_Ref_Table ()
6   : table_ (TAO_DEFAULT_OBJECT_REF_TABLE_SIZE)
7   , lock_ ()
11 ACE_INLINE CORBA::Object_ptr
12 TAO_Object_Ref_Table::find_i (const char *id)
14   iterator const found =
15     this->table_.find (CORBA::String_var (id));
17   if (found == this->table_.end ())
18     return CORBA::Object::_nil ();
20   return CORBA::Object::_duplicate ((*found).second.in ());
23 ACE_INLINE void
24 TAO_Object_Ref_Table::destroy ()
26   Table tmp;
28   ACE_GUARD (TAO_SYNCH_MUTEX,
29              guard,
30              this->lock_);
32   this->table_.swap (tmp);  // Force release of memory held by our table.
35 ACE_INLINE TAO_Object_Ref_Table::iterator
36 TAO_Object_Ref_Table::begin ()
38   return this->table_.begin ();
41 ACE_INLINE TAO_Object_Ref_Table::iterator
42 TAO_Object_Ref_Table::end ()
44   return this->table_.end ();
47 ACE_INLINE size_t
48 TAO_Object_Ref_Table::current_size () const
50   return this->table_.size ();
53 ACE_INLINE int
54 TAO_Object_Ref_Table::unbind_i (const char *id)
56   return
57     (this->table_.erase (CORBA::String_var (id)) == 0 ? -1 : 0);
60 TAO_END_VERSIONED_NAMESPACE_DECL