10#ifndef MCRL2_UTILITIES_CACHE_POLICY_H
11#define MCRL2_UTILITIES_CACHE_POLICY_H
13#include <forward_list>
97 auto it = map.find(
m_queue.front());
99 assert(it != map.end());
void update_last_element_it()
fifo_policy & operator=(const fifo_policy &other)
Map::iterator replacement_candidate(Map &map) override
void touch(const key_type &) override
Called whenever an element was found in the cache.
fifo_policy & operator=(fifo_policy &&other) noexcept=default
std::forward_list< key_type > m_queue
typename Map::key_type key_type
void inserted(const key_type &key) override
Called whenever a new element has been inserted into the cache.
std::forward_list< key_type >::iterator m_last_element_it
fifo_policy(fifo_policy &&other) noexcept=default
void clear() override
Called whenever the underlying cache is cleared.
fifo_policy(const fifo_policy &other)
A policy that replaces an arbitrary (but not random) element.
void inserted(const key_type &) override
Called whenever a new element has been inserted into the cache.
void clear() override
Called whenever the underlying cache is cleared.
typename Map::key_type key_type
void touch(const key_type &) override
Called whenever an element was found in the cache.
Map::iterator replacement_candidate(Map &map) override
An interface to implement a replacement policy for the fixed_size_cache.
virtual void clear()=0
Called whenever the underlying cache is cleared.
typename Map::key_type key_type
virtual void inserted(const key_type &key)=0
Called whenever a new element has been inserted into the cache.
virtual Map::iterator replacement_candidate(Map &map)=0
virtual void touch(const key_type &key)=0
Called whenever an element was found in the cache.
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...