BloombergLP::bdlcc::Cache

This class represents a simple in-process key-value store supporting a variety of eviction policies.

Synopsis

Declared in <bdlcc_cache.h>

template<
    class KEY,
    class VALUE,
    class HASH = bsl::hash<KEY>,
    class EQUAL = bsl::equal_to<KEY>>
class Cache;

Type Aliases

NameDescription
KVType Value type of a bulk insert entry.
PostEvictionCallback Type of function to call after an item has been evicted from the cache.
ValuePtrType Shared pointer type pointing to value type.

Member Functions

NameDescription
Cache [constructor]Constructors
clear Remove all items from this cache. Do not invoke the post-eviction callback.
equalFunction Return (a copy of) the key-equality functor used by this cache that returns true if two KEY objects have the same value, and false otherwise.
erase Remove the item having the specified key from this cache.
eraseBulk eraseBulk overloads
evictionPolicy Return the eviction policy used by this cache.
hashFunction Return (a copy of) the unary hash functor used by this cache to generate a hash value (of type std::size_t) for a KEY object.
highWatermark Return the high watermark of this cache, which is the size at which eviction of existing items begins.
insert insert overloads
insertBulk insertBulk overloads
lowWatermark Return the low watermark of this cache, which is the size at which eviction of existing items ends.
popFront Remove the item at the front of the eviction queue. Invoke the post-eviction callback for the removed item. Return 0 on success, and 1 if this cache is empty.
setPostEvictionCallback Set the post-eviction callback to the specified postEvictionCallback.
size Return the current size of this cache.
tryGetValue Load the value associated with the specified key into value.
visit Call the specified visitor for every item in this cache.

Friends

NameDescription
BloombergLP::bdlcc::Cache_TestUtilTest utility that exposes the cache RW-mutex lock methods.