00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef ACE_HASH_MAP_WITH_ALLOCATOR_T_H
00015 #define ACE_HASH_MAP_WITH_ALLOCATOR_T_H
00016 #include "ace/pre.h"
00017
00018 #include "ace/Hash_Map_Manager_T.h"
00019 #include "ace/Null_Mutex.h"
00020
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif
00024
00025 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050 template <class EXT_ID, class INT_ID>
00051 class ACE_Hash_Map_With_Allocator :
00052 public ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_Null_Mutex>
00053 {
00054 public:
00055
00056 ACE_Hash_Map_With_Allocator (ACE_Allocator *alloc);
00057
00058
00059 ACE_Hash_Map_With_Allocator (size_t size,
00060 ACE_Allocator *alloc);
00061
00062
00063
00064
00065
00066
00067
00068 int bind (const EXT_ID &,
00069 const INT_ID &,
00070 ACE_Allocator *alloc);
00071
00072 int unbind (const EXT_ID &,
00073 INT_ID &,
00074 ACE_Allocator *alloc);
00075
00076 int unbind (const EXT_ID &,
00077 ACE_Allocator *alloc);
00078
00079 int rebind (const EXT_ID &,
00080 const INT_ID &,
00081 EXT_ID &,
00082 INT_ID &,
00083 ACE_Allocator *alloc);
00084
00085 int find (const EXT_ID &,
00086 INT_ID &,
00087 ACE_Allocator *alloc);
00088
00089
00090 int find (const EXT_ID &ext_id,
00091 ACE_Allocator *alloc);
00092
00093 int close (ACE_Allocator *alloc);
00094 };
00095
00096 ACE_END_VERSIONED_NAMESPACE_DECL
00097
00098 #if defined (__ACE_INLINE__)
00099 #include "ace/Hash_Map_With_Allocator_T.inl"
00100 #endif
00101
00102 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
00103 #include "ace/Hash_Map_With_Allocator_T.cpp"
00104 #endif
00105
00106 #if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
00107 #pragma implementation ("Hash_Map_With_Allocator_T.cpp")
00108 #endif
00109
00110
00111 #include "ace/post.h"
00112 #endif