Newer
Older

jacques.grelet_ird.fr
committed
function queue = queue(varargin)
%HASHTABLE Constructor for LIFO queue class
% q = queue - Default constructor, empty queue table
% mq = queue(q) - Copy constructor
% $Id$

jacques.grelet_ird.fr
committed
% todos: define maxSize dimension
% if nargin == 1 && isa(varargin{1},'integer')
% q.maxSize = varargin{1};
% end
% and test maxSize in push
% copy constructor
% ----------------

jacques.grelet_ird.fr
committed
if nargin == 1 && isa(varargin{1},'queue')

jacques.grelet_ird.fr
committed
queue = varargin{1};
return;
% default constructor
% -------------------

jacques.grelet_ird.fr
committed
elseif nargin == 0

jacques.grelet_ird.fr
committed
% number of object stored in queue
% --------------------------------
q.index = 0;
% objects
% -------
q.data = [];
% last object extract from pop and dispose with get
% -------------------------------------------------
q.lifo = [];

jacques.grelet_ird.fr
committed
else

jacques.grelet_ird.fr
committed
error('queue:queue', 'Invalid arguments.');

jacques.grelet_ird.fr
committed
end

jacques.grelet_ird.fr
committed
% class constructor
% -----------------

jacques.grelet_ird.fr
committed
queue = class(q,'queue');