CircularQueue#

class frouros.utils.data_structures.CircularQueue(max_len: int)#

Class representing a circular queue.

property count: int#

Number of total elements property.

Returns:

Number of total elements

Return type:

int

property first: int#

First queue index property.

Returns:

first queue index

Return type:

int

property last: int#

Last queue index property.

Returns:

last queue index

Return type:

int

property max_len: int#

Maximum number of allowed elements property.

Returns:

maximum number of allowed elements

Return type:

int

property queue: List[Optional[Any]]#

Queue property.

Returns:

queue

Return type:

List[Optional[Any]]

property size: int#

Number of current elements property.

Returns:

Number of current elements

Return type:

int

clear() None#

Clear queue.

dequeue() Any#

Dequeue oldest element.

Return type:

value: Any

Raises:

EmptyQueue – Empty queue error exception

enqueue(value: Union[ndarray, int, float]) Optional[Any]#

Enqueue element/s.

Parameters:

value (Union[np.ndarray, float]) – value to be enqueued

Return element:

dequeued element

Return type:

Optional[Any]

is_empty() bool#

Check if queue is empty.

Returns:

check if queue is empty

Return type:

bool

is_full() bool#

Check if queue is full.

Returns:

check if queue is full

Return type:

bool

maintain_last_element() None#

Clear all elements except the last one.