|
| FrontArray (const std::string &name, uint32_t num_entries, const Clock *clk, StatisticSet *statset=nullptr) |
| Construct the array.
|
|
const DataT & | readValid (const uint32_t nth=0) const |
| read the nth valid object from the front of the array.
|
|
uint32_t | writeFront (const DataT &dat) |
| a public method that can be used to write data to the first invalidate entry in the array. '
|
|
uint32_t | writeFront (DataT &&dat) |
| a public method that can be used to write data to the first invalidate entry in the array. '
|
|
uint32_t | writeBack (const DataT &dat) |
| a public method that can be used to write data to the last invalidate entry in the array. '
|
|
uint32_t | writeBack (DataT &&dat) |
| a public method that can be used to write data to the last invalidate entry in the array. '
|
|
uint32_t | push_front (const DataT &dat) |
| Push the first available index in the Array.
|
|
uint32_t | push_front (DataT &&dat) |
| Push the first available index in the Array.
|
|
uint32_t | push_back (const DataT &dat) |
| Push the first available index in the Array starting from the back.
|
|
uint32_t | push_back (DataT &&dat) |
| Push the first available index in the Array starting from the back.
|
|
iterator | getCircularIterator (uint32_t idx=0) |
| Get an iterator that is circular on the Array (has no end())
|
|
iterator | getUnitializedIterator () |
| Provide a method to get an uninitialized iterator.
|
|
iterator | begin () |
| STL-like begin operation, starts at index 0 (ignores valid bit).
|
|
const_iterator | begin () const |
| STL-like begin operation, const, starts at index 0 (ignores valid bit).
|
|
iterator | end () |
| STL-like end operation.
|
|
const_iterator | end () const |
| STL-like end operation, const.
|
|
iterator | abegin () |
| STL-like begin operation, starts at the oldest valid index.
|
|
const_iterator | abegin () const |
| STL-like begin operation, const, starts at the oldest valid index.
|
|
iterator | aend () |
| STL-like end operation.
|
|
const_iterator | aend () const |
| STL-like end operation, const.
|
|
| Array (const std::string &name, uint32_t num_entries, const Clock *clk, StatisticSet *statset=nullptr, InstrumentationNode::visibility_t stat_vis_general=InstrumentationNode::AUTO_VISIBILITY, InstrumentationNode::visibility_t stat_vis_detailed=InstrumentationNode::VIS_HIDDEN, InstrumentationNode::visibility_t stat_vis_max=InstrumentationNode::AUTO_VISIBILITY, InstrumentationNode::visibility_t stat_vis_avg=InstrumentationNode::AUTO_VISIBILITY) |
| Construct an array.
|
|
virtual | ~Array () |
| Virtual destructor.
|
|
const std::string & | getName () const |
| Name of this resource.
|
|
bool | isValid (const uint32_t idx) const |
| Determine whether an index is currently valid.
|
|
const DataT & | read (const uint32_t idx) const |
| Read (only) the data at an index.
|
|
DataT & | access (const uint32_t idx) |
| Access (writeable) the data at a position.
|
|
const_iterator | getOldestIndex (const uint32_t nth=0) const |
| Return the oldest index in the array.
|
|
const_iterator | getYoungestIndex (const uint32_t nth=0) const |
| provide access the youngest index in the array.
|
|
bool | getNextOldestIndex (uint32_t &prev_idx) const |
| Sets the input argument to the index containing the location of the next oldest item after input argument. If the input argument is the youngest index, we return false.
|
|
uint32_t | getAge (const uint32_t idx) const |
| Provide the age information of the given entry index.
|
|
const AgedList & | getAgedList () const |
| Provide access to our aged_list_ internals.
|
|
size_type | capacity () const |
| Return the maximum number of elements this Array can hold.
|
|
size_type | numValid () const |
| The number of valid entries contained.
|
|
size_type | size () const |
|
size_type | numFree () const |
| The number of free entries.
|
|
void | erase (const iterator &iter) |
| Invalidate data at an iterator position.
|
|
void | erase (const uint32_t &idx) |
| Invalidate the entry at a certain index.
|
|
void | clear () |
| Clear the array of all data.
|
|
void | write (const uint32_t idx, const DataT &dat) |
| Write data to the array.
|
|
void | write (const uint32_t idx, DataT &&dat) |
| Write data to the array.
|
|
void | write (const iterator &iter, const DataT &dat) |
| Write data at an iterator position.
|
|
void | write (const iterator &iter, DataT &&dat) |
| Write data at an iterator position.
|
|
bool | isYounger (uint32_t lhs, uint32_t rhs) |
| Determine if an index was written (using write()) to the Array after another index.
|
|
bool | isOlder (uint32_t lhs, uint32_t rhs) |
| Determine if an index was written (using write()) to the Array before another index.
|
|
void | enableCollection (TreeNode *parent) |
| Set up a auto-collector for this Array.
|
|
template<class DataT,
ArrayType ArrayT = ArrayType::AGED>
class sparta::FrontArray< DataT, ArrayT >
a type of Array with special allocation policies to support writing to the front most valid entry in the Array, as well as reading the nth valid entry in the array.
- Template Parameters
-
DataT | the data type to store in the array. |
ArrayT | the type of array, Aged vs Normal (default Aged) |
CollectionT | the type of pipeline collection to run on the Array. |
Definition at line 29 of file FrontArray.hpp.