Include file:
#include "mcrl2/utilities/fixed_size_cache.h
mcrl2::utilities::
fixed_size_cache
¶A cache keeps track of key-value pairs similar to a map. The difference is that a cache has (an optional) maximum size and a policy that determines what element gets evicted when the cache is full.
Works with arbirary maps that implement the unordered_map interface.
mcrl2::utilities::fixed_size_cache::
const_iterator
¶typedef for typename Policy::map_type::const_iterator
mcrl2::utilities::fixed_size_cache::
iterator
¶typedef for typename Policy::map_type::iterator
mcrl2::utilities::fixed_size_cache::
key_type
¶typedef for typename Policy::key_type
mcrl2::utilities::fixed_size_cache::
m_map
¶The underlying mapping from keys to their cached results.
mcrl2::utilities::fixed_size_cache::
m_maximum_size
¶The maximum number of elements to cache.
mcrl2::utilities::fixed_size_cache::
m_policy
¶The replacement policy for keys in the cache.
begin
() constclear
()count
(const key_type &key) const¶emplace
(Args&&... args)Stores the given key-value pair in the cache. Depending on the cache policy and capacity an existing element might be removed.
end
() constfixed_size_cache
(std::size_t max_size = 1024)¶