/*
 * $Id: Queue.java,v 1.1 1999/08/20 08:54:53 yamauchi Exp $
 *     (M\pi)^2 : Queue 
 *	Copyright 1999 By YAMAUCHI Hitoshi 山内 斉 
 *	@author YAMAUCHI Hitoshi 山内 斉
 *
 * 	Queue : first in first out
 *
 * 1999年8月18日(水)
 */

package jp.ac.tohoku.is.archi.mpi2.util;

/**
 * Interface Queue (FIFO)
 */
public interface Queue {
    /**
     * enqueue item to the queue
     */
    public void enq(Object item);

    /**
     * dequeue item from the queue
     *	if there is no elements in queue, throw RuntimeException
     */
    public Object deq();

    /**
     * if queue is empty return true
     */
    public boolean isEmpty();

    /**
     * if queue is not empty return true
     *	実際には何かある場合にどうこうするということが多いのでこれを付
     *	加した
     */
    public boolean hasElements();

    /**
     * get length of this queue
     */
    public int length();
}
