mem-cache: Add a mechanism to iterate all entries of an AssociativeSet
Added functions to obtain an iterator to access all entries of an AssociativeSet container. Change-Id: I1ec555bd97d97e3edaced2b8f61287e922279c26 Reviewed-on: https://gem5-review.googlesource.com/c/16582 Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br> Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
This commit is contained in:
committed by
Javier Bueno Hedo
parent
0a7372633a
commit
466d30cbbd
42
src/mem/cache/prefetch/associative_set.hh
vendored
42
src/mem/cache/prefetch/associative_set.hh
vendored
@@ -195,6 +195,48 @@ class AssociativeSet {
|
||||
* @param entry pointer to the container entry to be inserted
|
||||
*/
|
||||
void insertEntry(Addr addr, bool is_secure, Entry* entry);
|
||||
|
||||
/** Iterator types */
|
||||
using const_iterator = typename std::vector<Entry>::const_iterator;
|
||||
using iterator = typename std::vector<Entry>::iterator;
|
||||
|
||||
/**
|
||||
* Returns an iterator to the first entry of the dictionary
|
||||
* @result iterator to the first element
|
||||
*/
|
||||
iterator begin()
|
||||
{
|
||||
return entries.begin();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an iterator pointing to the end of the the dictionary
|
||||
* (placeholder element, should not be accessed)
|
||||
* @result iterator to the end element
|
||||
*/
|
||||
iterator end()
|
||||
{
|
||||
return entries.end();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an iterator to the first entry of the dictionary
|
||||
* @result iterator to the first element
|
||||
*/
|
||||
const_iterator begin() const
|
||||
{
|
||||
return entries.begin();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an iterator pointing to the end of the the dictionary
|
||||
* (placeholder element, should not be accessed)
|
||||
* @result iterator to the end element
|
||||
*/
|
||||
const_iterator end() const
|
||||
{
|
||||
return entries.end();
|
||||
}
|
||||
};
|
||||
|
||||
#endif//__CACHE_PREFETCH_ASSOCIATIVE_SET_HH__
|
||||
|
||||
Reference in New Issue
Block a user