ACE_Name_Space_Map< ALLOCATOR > Class Template Reference

This class serves as a Proxy that ensures our process always has the appropriate allocator in place for every operation that accesses or updates the Map Manager. More...

#include <Local_Name_Space_T.h>

List of all members.

Public Member Functions

 ACE_Name_Space_Map (ALLOCATOR *alloc)
 Constructor.

int bind (const ACE_NS_String &, const ACE_NS_Internal &, ALLOCATOR *alloc)
int unbind (const ACE_NS_String &, ACE_NS_Internal &, ALLOCATOR *alloc)
int rebind (const ACE_NS_String &, const ACE_NS_Internal &, ACE_NS_String &, ACE_NS_Internal &, ALLOCATOR *alloc)
int find (const ACE_NS_String &, ACE_NS_Internal &, ALLOCATOR *alloc)
int close (ALLOCATOR *alloc)


Detailed Description

template<class ALLOCATOR>
class ACE_Name_Space_Map< ALLOCATOR >

This class serves as a Proxy that ensures our process always has the appropriate allocator in place for every operation that accesses or updates the Map Manager.

We need this class because otherwise the ALLOCATOR pointer will be stored in the Map_Manager that resides within shared memory. Naturally, this will cause horrible problems since only the first process to set that pointer will be guaranteed the address of the ALLOCATOR is meaningful!

Definition at line 72 of file Local_Name_Space_T.h.


Constructor & Destructor Documentation

template<class ALLOCATOR>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_Name_Space_Map< ALLOCATOR >::ACE_Name_Space_Map ALLOCATOR *  alloc  ) 
 

Constructor.

Definition at line 22 of file Local_Name_Space_T.cpp.

References ACE_TRACE.

00023   : MAP_MANAGER (alloc)
00024 {
00025   ACE_TRACE ("ACE_Name_Space_Map::ACE_Name_Space_Map");
00026 }


Member Function Documentation

template<class ALLOCATOR>
int ACE_Name_Space_Map< ALLOCATOR >::bind const ACE_NS_String ,
const ACE_NS_Internal ,
ALLOCATOR *  alloc
 

Definition at line 39 of file Local_Name_Space_T.cpp.

References ACE_TRACE.

00042 {
00043   ACE_TRACE ("ACE_Name_Space_Map::bind");
00044 
00045   this->table_allocator_ = alloc;
00046   this->entry_allocator_ = alloc;
00047   return this->bind_i (ext_id, int_id);
00048 }

template<class ALLOCATOR>
int ACE_Name_Space_Map< ALLOCATOR >::close ALLOCATOR *  alloc  ) 
 

Definition at line 29 of file Local_Name_Space_T.cpp.

References ACE_TRACE.

00030 {
00031   ACE_TRACE ("ACE_Name_Space_Map::close");
00032 
00033   this->table_allocator_ = alloc;
00034   this->entry_allocator_ = alloc;
00035   return this->close_i ();
00036 }

template<class ALLOCATOR>
int ACE_Name_Space_Map< ALLOCATOR >::find const ACE_NS_String ,
ACE_NS_Internal ,
ALLOCATOR *  alloc
 

Definition at line 77 of file Local_Name_Space_T.cpp.

References ACE_TRACE.

00080 {
00081   ACE_TRACE ("ACE_Name_Space_Map::find");
00082 
00083   this->table_allocator_ = alloc;
00084   this->entry_allocator_ = alloc;
00085   return this->find_i (ext_id, int_id);
00086 }

template<class ALLOCATOR>
int ACE_Name_Space_Map< ALLOCATOR >::rebind const ACE_NS_String ,
const ACE_NS_Internal ,
ACE_NS_String ,
ACE_NS_Internal ,
ALLOCATOR *  alloc
 

Definition at line 63 of file Local_Name_Space_T.cpp.

References ACE_TRACE.

00068 {
00069   ACE_TRACE ("ACE_Name_Space_Map::rebind");
00070 
00071   this->table_allocator_ = alloc;
00072   this->entry_allocator_ = alloc;
00073   return this->rebind_i (ext_id, int_id, old_ext_id, old_int_id);
00074 }

template<class ALLOCATOR>
int ACE_Name_Space_Map< ALLOCATOR >::unbind const ACE_NS_String ,
ACE_NS_Internal ,
ALLOCATOR *  alloc
 

Definition at line 51 of file Local_Name_Space_T.cpp.

References ACE_TRACE.

00054 {
00055   ACE_TRACE ("ACE_Name_Space_Map::unbind");
00056 
00057   this->table_allocator_ = alloc;
00058   this->entry_allocator_ = alloc;
00059   return this->unbind_i (ext_id, int_id);
00060 }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:25:33 2006 for ACE by doxygen 1.3.6