Versions in this module Expand all Collapse all v1 v1.1.0 Mar 13, 2021 v1.0.0 Mar 18, 2019 Changes in this version + const ErrEmpty + const ErrFull + type Range struct + End uint + Start uint + func (r Range) Empty() bool + func (r Range) Length() uint + type Ring struct + func NewRing(cap uint) Ring + func NewRingForSlice(i Slice) Ring + func (r Ring) Capacity() uint + func (r Ring) Consume() (first Range, second Range) + func (r Ring) Empty() bool + func (r Ring) ForcePush() uint + func (r Ring) Full() bool + func (r Ring) Inspect() (first Range, second Range) + func (r Ring) Mask(i uint) uint + func (r Ring) Push() (uint, error) + func (r Ring) PushN(count uint) (first, second Range, err error) + func (r Ring) Shift() (uint, error) + func (r Ring) ShiftN(count uint) (first, second Range, err error) + func (r Ring) Size() uint + type Scanner struct + func ScanFIFO(ring Ring) *Scanner + func ScanLIFO(ring Ring) *Scanner + func (s *Scanner) Next() bool + func (s *Scanner) Value() uint + type Slice interface + Len func() int