$CLASSNAME$
	QUEUE
$SUMMARY$
	Class  are destined to control queues make from arbitrary data.
$LANG_RU$
	     ,   .
$ABOUT$
	Class  are destined to control queues make from arbitrary data.
$LANG_RU$
	     ,   .
$SYNTAX$
	QueueNew() --> QUEUE object
$ATTRIBUTES$
	<ClassName> 	QUEUE
	<Data>		Array, array of arbitrary data.
$LANG_RU$
	<ClassName> 	QUEUE
	<Data>		Array,   .

$METHODNAME$
	QueueNew()
$SUMMARY$
	QUEUE object constructor.
$LANG_RU$
	  QUEUE.
$SYNTAX$
	QueueNew() --> QUEUE object
$ARGUMENTS$

$RETURNS$
	Method returns new QUEUE object.
$LANG_RU$
	    QUEUE.
$DESCRIPTION$
	QueueNew() is constructs and returns new QUEUE object.
	That class can be use to manipulating( put, get, read) queues
	made from arbitrary types data.
$LANG_RU$
	QueueNew()       QUEUE.
	      ( , ,
	) ,    .
$ENDMETHOD$

$METHODNAME$
	Put()
$SUMMARY$
	Put data to queue.
$LANG_RU$
	   .
$SYNTAX$
	Put(<vData>) --> <nItem>
$ARGUMENTS$
	<vData>  - data to putting
$LANG_RU$
	<vData>	 - ,      .
$RETURNS$
	Returns the number newly element of <::Data>
$LANG_RU$
	    .
$DESCRIPTION$
	Put() is inserts new element into queue immediately after
	to the last element and returns it number.
$LANG_RU$
	Put()       <vData>  
	    .
$ENDMETHOD$

$METHODNAME$
	Get()
$SUMMARY$
	Get data from queue.
$LANG_RU$
	   .
$SYNTAX$
	Get() --> <vData>
$ARGUMENTS$
$RETURNS$
	Returns the first element into queue.
$LANG_RU$
	    .
$DESCRIPTION$
	Get() is returns first queues element and removes it from queue.

	If queue is empty Get() returns NIL.
$LANG_RU$
	Get()          .

	  , Get()  NIL.
$ENDMETHOD$


$METHODNAME$
	Head()
$SUMMARY$
	Get first data from queue.
$LANG_RU$
	    .
$SYNTAX$
	Head() --> <vData>
$ARGUMENTS$
$RETURNS$
	Returns the first element into queue.
$LANG_RU$
	    .
$DESCRIPTION$
	Head() is returns first queues element but not removes it from queue.

	If queue is empty Head() returns NIL.
$LANG_RU$
	Head()          .

	  , Head()  NIL.
$ENDMETHOD$


$METHODNAME$
	Tail()
$SUMMARY$
	Get last data from queue.
$LANG_RU$
	    .
$SYNTAX$
	Tail() --> <vData>
$ARGUMENTS$
$RETURNS$
	Returns the last element into queue.
$LANG_RU$
	    .
$DESCRIPTION$
	Tail() is returns last queues element but not removes it from queue.

	If queue is empty Tail() returns NIL.
$LANG_RU$
	Tail()          .

	  , Tail()  NIL.
$ENDMETHOD$


$METHODNAME$
	Len()
$SUMMARY$
	Get queue length.
$LANG_RU$
	  .
$SYNTAX$
	Len() --> <nLen>
$ARGUMENTS$
$RETURNS$
	Returns the queue length.
$LANG_RU$
	  .
$DESCRIPTION$
	Len() is returns queue length - the count elements into queue.

	If queue is empty Len() returns 0.
$LANG_RU$
	Len()    -    .

	  , Len()  0.
$ENDMETHOD$


$METHODNAME$
	Free()
$SUMMARY$
	Free queue.
$LANG_RU$
	 .
$SYNTAX$
	Free() --> TRUE
$ARGUMENTS$
$RETURNS$
	Returns TRUE.
$LANG_RU$
	 TRUE.
$DESCRIPTION$
	Free() is removes all items from queue and returns TRUE.
$LANG_RU$
	Free()        TRUE.
$ENDMETHOD$


$METHODNAME$
	Empty()
$SUMMARY$
	Check queue.
$LANG_RU$
	 .
$SYNTAX$
	Empty() --> TRUE || FALSE
$ARGUMENTS$
$RETURNS$
	Returns TRUE if queue is empty and FALSE if other.
$LANG_RU$
	 TRUE     FALSE   .
$DESCRIPTION$
	Empty() returns TRUE if queue is empty and FALSE if other.
$LANG_RU$
	Empty()  TRUE     FALSE   .
$ENDMETHOD$

$EXAMPLES$

que := QueueNew()	// --> new Queue object
que:Put( Time() )	// --> 1
que:Put( Date() )	// --> 2

? que:Len()		// --> 2

? que:Tail()		// --> 17-03-2003
? que:Len()		// --> 2

que:Get()		// --> "12:14:56:01"
? que:Len()		// --> 1

que:Free()
? que:Len()		// --> 0

$PLATFORMS$
   No dependies of platform.
$SEEALSO$
$AUTHOR$
ITK
$LASTDATE$



