Lines Matching defs:round
98 * ambiguity, we need the round number to guarantee that it did not become
141 * round counter. For the character, '*' denotes the element pointed to by
159 iterator(CircularQueue* cq, uint32_t idx, uint32_t round)
160 : _cq(cq), _idx(idx), _round(round) {}
290 * the iterator round equals the cq round unless the head is at the
291 * zero position and the round is one more than the cq round.
455 * The round counter is used to disambiguate aliasing.
457 bool isValidIdx(size_t idx, uint32_t round) const
461 * - round == R and
470 * - round + 1 == R and:
479 * Other values of the round meand that the index is PTE or BTB
482 (round == _round && idx <= _tail && (
484 (round + 1 == _round &&
553 * Check for wrap-arounds to update the round counter.
618 auto round = _round;
620 ++round;
621 return iterator(this, poi, round);
627 auto round = _round;
629 ++round;
630 return iterator(const_cast<CircularQueue*>(this), poi, round);
634 * This poses the problem of round determination. By convention, the round
635 * is picked so that isValidIndex(idx, round) is true. If that is not
636 * possible, then the round value is _round, unless _tail is at the end of
645 uint32_t round = _round;
648 round -= 1;
651 round += 1;
653 return iterator(this, idx, round);