Spec-Zone.ru › Pony

RingBuffer[A: A]

[Source]

Кольцевой буфер.

class ref RingBuffer[A: A]

Конструкторы

create

[Source]

Создать кольцевой буфер с фиксированным размером. Размер будет округлён до ближайшей степени двойки.

new ref create(
  len: USize val)
: RingBuffer[A] ref^

Параметры

  • len: USize val

Возвращаемое значение

  • RingBuffer[A] ref^

Общедоступные функции

head

[Source]

Первый элемент, который можно считать. Если в буфер ничего не записано, это вызовет ошибку.

fun box head()
: USize val ?

Возвращаемое значение

  • USize val ?

размер

[Source]

Количество элементов, добавленных в буфер.

fun box size()
: USize val

Возвращаемое значение

  • USize val

место

[Source]

Доступное место в буфере.

fun box space()
: USize val

Возвращаемое значение

  • USize val

apply

[Source]

Получить i-й элемент из буфера. Если i-й элемент ещё не добавлен или уже недоступен, это вызовет ошибку.

fun box apply(
  i: USize val)
: this->A ?

Параметры

  • i: USize val

Возвращаемое значение

  • this->A ?

push

[Source]

Добавить элемент в буфер. Если буфер заполнен, это отбросит самый старый элемент в буфере. Возвращает true, если элемент был отброшен.

fun ref push(
  value: A)
: Bool val

Параметры

  • value: A

Возвращаемое значение

  • Bool val

очистить

[Source]

Очистить очередь.

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API