RefCountHashMap< K, V, HASH, HANDLER > Class Template Reference Data Structures
#include <refcount_hashmap.h>
Use a RefCountHashMap for cache-like use cases where a map entry shall be automatically removed when it isn't used any longer.
To add an entry to a RefCountHashMap , you have to use and store an EntryRef as in
EntryRef ref; Bool created; V* value = ref.Set(map, key, created) iferr_return ;
This will add an entry for
key
, and this entry will stay in the map as long as there are EntryRefs pointing to it. The map keeps track of those entries by means of reference counting.
Classes |
|
class | Entry |
class | EntryRef |
Public Types |
|
using | Map = HashMap < K, Entry , HASH > |
公共成员函数 |
|
~RefCountHashMap () | |
String | ToString (const FormatStatement *fmt=nullptr) const |
Map & | GetMap () |
const Map & | GetMap () const |
Private Attributes |
|
Map | _map |
using Map = HashMap <K, Entry , HASH> |
~ RefCountHashMap | ( | ) |
String ToString | ( | const FormatStatement * |
fmt
=
nullptr
|
) | const |
Map & GetMap | ( | ) |
const Map & GetMap | ( | ) | const |
|
private |