Pyrogenesis  trunk
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Landlord_Lazy< Key, Entry > Class Template Reference

#include <cache_adt.h>

Inheritance diagram for Landlord_Lazy< Key, Entry >:
Inheritance graph
[legend]
Collaboration diagram for Landlord_Lazy< Key, Entry >:
Collaboration graph
[legend]

Classes

struct  CD_greater
 
class  PriQ
 

Public Member Functions

 Landlord_Lazy ()
 
void add (const Key &key, const Entry &entry)
 
void remove (const Key &key)
 
void on_access (Entry &entry)
 
void remove_least_valuable (std::list< Entry > &entry_list)
 
- Public Member Functions inherited from Landlord< Key, Entry, McdCalc_Naive >
bool empty () const
 
void add (const Key &key, const Entry &entry)
 
bool find (const Key &key, const Entry **pentry) const
 
void remove (const Key &key)
 
void on_access (Entry &entry)
 
void remove_least_valuable (std::list< Entry > &entry_list)
 

Private Types

typedef Landlord_Naive< Key, Entry >::Map Map
 
typedef Landlord_Naive< Key, Entry >::MapIt MapIt
 
typedef Landlord_Naive< Key, Entry >::MapCIt MapCIt
 
typedef Landlord_Naive< Key, EntryParent
 

Private Member Functions

void commit_pending_delta ()
 

Private Attributes

PriQ pri_q
 
float pending_delta
 

Additional Inherited Members

- Protected Types inherited from Landlord< Key, Entry, McdCalc_Naive >
typedef Map::iterator MapIt
 
typedef Map::const_iterator MapCIt
 
- Protected Member Functions inherited from Landlord< Key, Entry, McdCalc_Naive >
MapIt add_ (const Key &key, const Entry &entry)
 
void remove_ (MapIt it)
 
void charge (Entry &entry, float delta)
 
void charge_all (float delta)
 
bool should_evict (const Entry &entry)
 
- Protected Attributes inherited from Landlord< Key, Entry, McdCalc_Naive >
Map map
 

Member Typedef Documentation

template<typename Key , class Entry >
typedef Landlord_Naive<Key, Entry>::Map Landlord_Lazy< Key, Entry >::Map
private
template<typename Key , class Entry >
typedef Landlord_Naive<Key, Entry>::MapCIt Landlord_Lazy< Key, Entry >::MapCIt
private
template<typename Key , class Entry >
typedef Landlord_Naive<Key, Entry>::MapIt Landlord_Lazy< Key, Entry >::MapIt
private
template<typename Key , class Entry >
typedef Landlord_Naive<Key, Entry> Landlord_Lazy< Key, Entry >::Parent
private

Constructor & Destructor Documentation

template<typename Key , class Entry >
Landlord_Lazy< Key, Entry >::Landlord_Lazy ( )
inline

Member Function Documentation

template<typename Key , class Entry >
void Landlord_Lazy< Key, Entry >::add ( const Key &  key,
const Entry entry 
)
inline
template<typename Key , class Entry >
void Landlord_Lazy< Key, Entry >::commit_pending_delta ( )
inlineprivate
template<typename Key , class Entry >
void Landlord_Lazy< Key, Entry >::on_access ( Entry entry)
inline
template<typename Key , class Entry >
void Landlord_Lazy< Key, Entry >::remove ( const Key &  key)
inline
template<typename Key , class Entry >
void Landlord_Lazy< Key, Entry >::remove_least_valuable ( std::list< Entry > &  entry_list)
inline

Member Data Documentation

template<typename Key , class Entry >
float Landlord_Lazy< Key, Entry >::pending_delta
private
template<typename Key , class Entry >
PriQ Landlord_Lazy< Key, Entry >::pri_q
private

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