|
gem5
v21.0.1.0
|
Iterator to the circular queue. More...
#include <circular_queue.hh>
Public Types | |
| using | value_type = T |
| Iterator Traits. More... | |
| using | difference_type = std::ptrdiff_t |
| using | reference = value_type & |
| using | const_reference = const value_type & |
| using | pointer = value_type * |
| using | const_pointer = const value_type * |
| using | iterator_category = std::random_access_iterator_tag |
Public Member Functions | |
| iterator (CircularQueue *cq, size_t idx) | |
| iterator ()=default | |
| iterator (const iterator &it) | |
| Trait reference type iterator satisfies OutputIterator, therefore reference must be T&. More... | |
| iterator & | operator= (const iterator &it) |
| bool | dereferenceable () const |
| Test dereferenceability. More... | |
| bool | operator== (const iterator &that) const |
| InputIterator. More... | |
| bool | operator!= (const iterator &that) |
| Inequality operator. More... | |
| reference | operator* () |
| Dereference operator. More... | |
| const_reference | operator* () const |
| pointer | operator-> () |
| Dereference operator. More... | |
| const_pointer | operator-> () const |
| iterator & | operator++ () |
| Pre-increment operator. More... | |
| iterator | operator++ (int) |
| Post-increment operator. More... | |
| iterator & | operator-- () |
| ForwardIterator The multipass guarantee is provided by the reliance on _idx. More... | |
| iterator | operator-- (int) |
| Post-decrement operator. More... | |
| iterator & | operator+= (const difference_type &t) |
| RandomAccessIterator requirements. More... | |
| iterator & | operator-= (const difference_type &t) |
| iterator | operator+ (const difference_type &t) |
| Addition operator. More... | |
| iterator | operator- (const difference_type &t) |
| Substraction operator. More... | |
| difference_type | operator- (const iterator &that) |
| Difference operator. More... | |
| template<typename Idx > | |
| std::enable_if_t< std::is_integral< Idx >::value, reference > | operator[] (const Idx &index) |
| Index operator. More... | |
| bool | operator< (const iterator &that) const |
| Comparisons. More... | |
| bool | operator> (const iterator &that) const |
| bool | operator>= (const iterator &that) const |
| bool | operator<= (const iterator &that) const |
| size_t | idx () const |
| OutputIterator has no extra requirements. More... | |
Public Attributes | |
| CircularQueue * | _cq = nullptr |
| size_t | _idx = 0 |
Friends | |
| iterator | operator+ (const difference_type &t, iterator &it) |
| iterator | operator- (const difference_type &t, iterator &it) |
Iterator to the circular queue.
iterator implementation to provide wrap around indexing which the vector iterator does not.
Definition at line 82 of file circular_queue.hh.
|
default |
|
inline |
OutputIterator has no extra requirements.
Definition at line 383 of file circular_queue.hh.
References CircularQueue< T >::iterator::_idx.
Referenced by LSQUnit< Impl >::completeStore(), and LSQUnit< Impl >::writebackStores().
| CircularQueue* CircularQueue< T >::iterator::_cq = nullptr |
Definition at line 85 of file circular_queue.hh.
Referenced by CircularQueue< T >::iterator::dereferenceable(), CircularQueue< T >::iterator::operator*(), CircularQueue< T >::iterator::operator--(), CircularQueue< T >::iterator::operator-=(), CircularQueue< T >::iterator::operator=(), and CircularQueue< T >::iterator::operator==().
| size_t CircularQueue< T >::iterator::_idx = 0 |
Definition at line 86 of file circular_queue.hh.
Referenced by CircularQueue< T >::iterator::dereferenceable(), CircularQueue< T >::iterator::idx(), CircularQueue< T >::iterator::operator*(), CircularQueue< T >::iterator::operator++(), CircularQueue< T >::iterator::operator+=(), CircularQueue< T >::iterator::operator-(), CircularQueue< T >::iterator::operator--(), CircularQueue< T >::iterator::operator-=(), CircularQueue< T >::iterator::operator<(), CircularQueue< T >::iterator::operator=(), and CircularQueue< T >::iterator::operator==().