#include <ace/Active_Map_Manager_T.h>
template<class T> class ACE_Active_Map_Manager : public ACE_Map_Manager<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> {
public:
typedef ACE_Active_Map_Manager_Key key_type;
typedef T mapped_type;
typedef ACE_Map_Entry<ACE_Active_Map_Manager_Key, T> ENTRY;
typedef ACE_Map_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> ITERATOR; typedef ACE_Map_Reverse_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> REVERSE_ITERATOR;typedef ENTRY entry;
typedef ITERATOR iterator;
typedef REVERSE_ITERATOR reverse_iterator;
ACE_Active_Map_Manager (ACE_Allocator *alloc = 0);
ACE_Active_Map_Manager (size_t size, ACE_Allocator *alloc = 0);
~ACE_Active_Map_Manager (void);
int open ( size_t length = ACE_DEFAULT_MAP_SIZE, ACE_Allocator *alloc = 0 );
int close (void);
int bind (const T &value, ACE_Active_Map_Manager_Key &key);
int bind (const T &value);
int bind (ACE_Active_Map_Manager_Key &key, T *&internal_value);
int rebind ( const ACE_Active_Map_Manager_Key &key, const T &value );
int rebind ( const ACE_Active_Map_Manager_Key &key, const T &value, T &old_value );
int rebind ( const ACE_Active_Map_Manager_Key &key, const T &value, ACE_Active_Map_Manager_Key &old_key, T &old_value );
int find (const ACE_Active_Map_Manager_Key &key, T &value) const;
int find (const ACE_Active_Map_Manager_Key &key) const;
int find ( const ACE_Active_Map_Manager_Key &key, T *&internal_value ) const;
int unbind (const ACE_Active_Map_Manager_Key &key);
int unbind (const ACE_Active_Map_Manager_Key &key, T &value);
int unbind ( const ACE_Active_Map_Manager_Key &key, T *&internal_value );
size_t current_size (void) const;
size_t total_size (void) const;
static const ACE_Active_Map_Manager_Key npos (void);
void dump (void) const;
ACE_Map_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> begin ( void );
ACE_Map_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> end ( void );
ACE_Map_Reverse_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> rbegin ( void );
ACE_Map_Reverse_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> rend ( void );
ACE_ALLOC_HOOK_DECLARE;
protected:
typedef ACE_Map_Manager<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> ACE_AMM_BASE;private:
inline ACE_UNIMPLEMENTED_FUNC ( void operator= (const ACE_Active_Map_Manager<T> &) );
};
typedef ACE_Active_Map_Manager_Key key_type;
typedef T mapped_type;
typedef ACE_Map_Entry<ACE_Active_Map_Manager_Key, T> ENTRY;
typedef ACE_Map_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> ITERATOR;
typedef ACE_Map_Reverse_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> REVERSE_ITERATOR;
typedef ENTRY entry;
typedef ITERATOR iterator;
typedef REVERSE_ITERATOR reverse_iterator;
ACE_Active_Map_Manager (ACE_Allocator *alloc = 0);
Active_Map_Manager
with the ACE_DEFAULT_MAP_SIZE
.
ACE_Active_Map_Manager (size_t size, ACE_Allocator *alloc = 0);
Active_Map_Manager
with size
entries.
~ACE_Active_Map_Manager (void);
Active_Map_Manager
and release dynamically
allocated resources.
int open (
size_t length = ACE_DEFAULT_MAP_SIZE,
ACE_Allocator *alloc = 0
);
Active_Map_Manager
with size length
.
int close (void);
Active_Map_Manager
and release dynamically
allocated resources.
int bind (const T &value, ACE_Active_Map_Manager_Key &key);
value
to the map, and the corresponding key produced by the
Active_Map_Manager is returned through key
.
int bind (const T &value);
value
to the map. The user does not care about the
corresponding key produced by the Active_Map_Manager.
int bind (ACE_Active_Map_Manager_Key &key, T *&internal_value);
value
into
*internal_value
. This method is useful in reducing the number
of copies required in some cases. Note that internal_value
is
only a temporary pointer and will change when the map resizes.
Therefore, the user should use the pointer immediately and not
hold on to it.
int rebind (const ACE_Active_Map_Manager_Key &key, const T &value);
key
with value
. The function fails if key
is
not in the map.
int rebind (
const ACE_Active_Map_Manager_Key &key,
const T &value,
T &old_value
);
key
with value
, storing the old value into the
"out" parameter old_value
. The function fails if key
is not
in the map.
int rebind (
const ACE_Active_Map_Manager_Key &key,
const T &value,
ACE_Active_Map_Manager_Key &old_key,
T &old_value
);
key
with value
, storing the old key and value
into the "out" parameter old_key
and old_value
. The function
fails if key
is not in the map.
int find (const ACE_Active_Map_Manager_Key &key, T &value) const;
value
associated with key
.
int find (const ACE_Active_Map_Manager_Key &key) const;
key
in the map?
int find (
const ACE_Active_Map_Manager_Key &key,
T *&internal_value
) const;
value
associated with key
. The value is returned via
internal_value
and hence a copy is saved. Note that
internal_value
is only a temporary pointer and will change when
the map resizes. Therefore, the user should use the pointer
immediately and not hold on to it.
Creates a key. User should place their value
into
*internal_value
. This method is useful in reducing the number
of copies required in some cases.
int unbind (const ACE_Active_Map_Manager_Key &key);
key
from the map.
int unbind (const ACE_Active_Map_Manager_Key &key, T &value);
key
from the map, and return the value
associated with
key
.
int unbind (
const ACE_Active_Map_Manager_Key &key,
T *&internal_value
);
value
associated with key
. The value is returned via
internal_value
and hence a copy is saved. Note that
internal_value
is only a temporary pointer and will change when
the map resizes or when this slot is reused. Therefore, the user
should use the pointer immediately and not hold on to it.
size_t current_size (void) const;
size_t total_size (void) const;
static const ACE_Active_Map_Manager_Key npos (void);
void dump (void) const;
ACE_Map_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> begin (
void
);
ACE_Map_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> end (
void
);
ACE_Map_Reverse_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> rbegin (
void
);
ACE_Map_Reverse_Iterator<ACE_Active_Map_Manager_Key, T, ACE_Null_Mutex> rend (
void
);
ACE_ALLOC_HOOK_DECLARE;
inline ACE_UNIMPLEMENTED_FUNC (
void operator= (const ACE_Active_Map_Manager<T> &)
);