The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Queue::Base - Simple OO style queue implementation.

SYNOPSIS

 use Queue::Base;

 # construction
 my $queue = new Queue::Base;
 # or
 my $queue = new Queue::Base(\@elements);
 
 # add new element to the queue
 $queue->add($element);
 
 # remove an element from the queue
 if ($queue->size()) {
     my $element = $queue->remove();
 }
 # or
 $element = $queue->remove();
 if (defined $element) {
     # do some processing here
 }
 
 # add/remove more than just one element
 $queue->add($elem1, $elem2 ...)
 # and
 @elements = $queue->remove(5);

DESCRIPTION

The Queue::Base is a simple implementation for queue structures using an OO interface. Provides basic functionality: nothing less - nothing more.

METHODS

Constructor

new [ELEMENTS]

Creates a new empty queue.

ELEMENTS is an array reference with elements the queue to be initialized with.

Methods

add [LIST_OF_ELEMENTS]

Adds the LIST OF ELEMENTS to the end of the queue.

remove [NUMBER_OF_ELEMENTS]

In scalar context it return the first element from the queue.

In scalar context it attempts to return the NUMBER_OF_ELEMENTS requested; when NUMBER_OF_ELEMENTS is not given, it defaults to 1.

size

Returns the size of the queue.

emtpy

Empties the queue.

CAVEATS

The module works only with scalar values. If you want to use more complex structures (and there's a big change you want that) please use references, which in perl5 are implemented as scalars.

AUTHOR

Farkas Arpad <arpadf@spidernet.co.ro>