Include file:

#include "mcrl2/utilities/cache_policy.h
class mcrl2::utilities::fifo_policy

Public types

type mcrl2::utilities::fifo_policy::key_type

typedef for typename Map::key_type

Private attributes

std::forward_list<key_type>::iterator mcrl2::utilities::fifo_policy::m_last_element_it
std::forward_list<key_type> mcrl2::utilities::fifo_policy::m_queue

Public member functions

void clear() override

Called whenever the underlying cache is cleared.

fifo_policy(const fifo_policy &other)
fifo_policy(fifo_policy &&other) noexcept = default
void inserted(const key_type &key) override

Called whenever a new element has been inserted into the cache.

fifo_policy &operator=(const fifo_policy &other)
fifo_policy &operator=(fifo_policy &&other) noexcept = default
Map::iterator replacement_candidate(Map &map) override

Returns: An iterator to the key that should be replaced when the cache is full.

void touch(const key_type&) override

Called whenever an element was found in the cache.

Private member functions

void update_last_element_it()