mCRL2
Loading...
Searching...
No Matches
mcrl2::utilities::fifo_policy< Map > Class Template Referencefinal

#include <cache_policy.h>

Inheritance diagram for mcrl2::utilities::fifo_policy< Map >:
mcrl2::utilities::replacement_policy< Map >

Public Types

using key_type = typename Map::key_type
 
- Public Types inherited from mcrl2::utilities::replacement_policy< Map >
using key_type = typename Map::key_type
 
using map_type = Map
 

Public Member Functions

 fifo_policy ()
 
 fifo_policy (const fifo_policy &other)
 
fifo_policyoperator= (const fifo_policy &other)
 
 fifo_policy (fifo_policy &&other) noexcept=default
 
fifo_policyoperator= (fifo_policy &&other) noexcept=default
 
void clear () override
 Called whenever the underlying cache is cleared.
 
Map::iterator replacement_candidate (Map &map) override
 
void inserted (const key_type &key) override
 Called whenever a new element has been inserted into the cache.
 
void touch (const key_type &) override
 Called whenever an element was found in the cache.
 

Private Member Functions

void update_last_element_it ()
 

Private Attributes

std::forward_list< key_typem_queue
 
std::forward_list< key_type >::iterator m_last_element_it
 

Additional Inherited Members

virtual void clear ()=0
 Called whenever the underlying cache is cleared.
 
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.
 

Detailed Description

template<typename Map>
class mcrl2::utilities::fifo_policy< Map >

Definition at line 60 of file cache_policy.h.

Member Typedef Documentation

◆ key_type

template<typename Map >
using mcrl2::utilities::fifo_policy< Map >::key_type = typename Map::key_type

Definition at line 63 of file cache_policy.h.

Constructor & Destructor Documentation

◆ fifo_policy() [1/3]

template<typename Map >
mcrl2::utilities::fifo_policy< Map >::fifo_policy ( )
inline

Definition at line 65 of file cache_policy.h.

◆ fifo_policy() [2/3]

template<typename Map >
mcrl2::utilities::fifo_policy< Map >::fifo_policy ( const fifo_policy< Map > &  other)
inline

Definition at line 70 of file cache_policy.h.

◆ fifo_policy() [3/3]

template<typename Map >
mcrl2::utilities::fifo_policy< Map >::fifo_policy ( fifo_policy< Map > &&  other)
defaultnoexcept

Member Function Documentation

◆ clear()

template<typename Map >
void mcrl2::utilities::fifo_policy< Map >::clear ( )
inlineoverridevirtual

Called whenever the underlying cache is cleared.

Implements mcrl2::utilities::replacement_policy< Map >.

Definition at line 87 of file cache_policy.h.

◆ inserted()

template<typename Map >
void mcrl2::utilities::fifo_policy< Map >::inserted ( const key_type key)
inlineoverridevirtual

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

Implements mcrl2::utilities::replacement_policy< Map >.

Definition at line 103 of file cache_policy.h.

◆ operator=() [1/2]

template<typename Map >
fifo_policy & mcrl2::utilities::fifo_policy< Map >::operator= ( const fifo_policy< Map > &  other)
inline

Definition at line 76 of file cache_policy.h.

◆ operator=() [2/2]

template<typename Map >
fifo_policy & mcrl2::utilities::fifo_policy< Map >::operator= ( fifo_policy< Map > &&  other)
defaultnoexcept

◆ replacement_candidate()

template<typename Map >
Map::iterator mcrl2::utilities::fifo_policy< Map >::replacement_candidate ( Map &  map)
inlineoverridevirtual
Returns
An iterator to the key that should be replaced when the cache is full.

Implements mcrl2::utilities::replacement_policy< Map >.

Definition at line 93 of file cache_policy.h.

◆ touch()

template<typename Map >
void mcrl2::utilities::fifo_policy< Map >::touch ( const key_type key)
inlineoverridevirtual

Called whenever an element was found in the cache.

Implements mcrl2::utilities::replacement_policy< Map >.

Definition at line 109 of file cache_policy.h.

◆ update_last_element_it()

template<typename Map >
void mcrl2::utilities::fifo_policy< Map >::update_last_element_it ( )
inlineprivate

Definition at line 113 of file cache_policy.h.

Member Data Documentation

◆ m_last_element_it

template<typename Map >
std::forward_list<key_type>::iterator mcrl2::utilities::fifo_policy< Map >::m_last_element_it
private

Definition at line 123 of file cache_policy.h.

◆ m_queue

template<typename Map >
std::forward_list<key_type> mcrl2::utilities::fifo_policy< Map >::m_queue
private

Definition at line 122 of file cache_policy.h.


The documentation for this class was generated from the following file: