RingBuffer[A: A]
Кольцевой буфер.
class ref RingBuffer[A: A]
Конструкторы
create
Создать кольцевой буфер с фиксированным размером. Размер будет округлён до ближайшей степени двойки.
new ref create( len: USize val) : RingBuffer[A] ref^
Параметры
- len: USize val
Возвращаемое значение
- RingBuffer[A] ref^
Общедоступные функции
head
Первый элемент, который можно считать. Если в буфер ничего не записано, это вызовет ошибку.
fun box head() : USize val ?
Возвращаемое значение
- USize val ?
размер
Количество элементов, добавленных в буфер.
fun box size() : USize val
Возвращаемое значение
- USize val
место
Доступное место в буфере.
fun box space() : USize val
Возвращаемое значение
- USize val
apply
Получить i-й элемент из буфера. Если i-й элемент ещё не добавлен или уже недоступен, это вызовет ошибку.
fun box apply( i: USize val) : this->A ?
Параметры
- i: USize val
Возвращаемое значение
- this->A ?
push
Добавить элемент в буфер. Если буфер заполнен, это отбросит самый старый элемент в буфере. Возвращает true, если элемент был отброшен.
fun ref push( value: A) : Bool val
Параметры
- value: A
Возвращаемое значение
- Bool val
очистить
Очистить очередь.
fun ref clear() : None val
Возвращаемое значение
- None val
© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/collections-RingBuffer