###User Defined Function###
_ArrayPush

###Description###
Add new values without increasing array size by inserting at the end the new value and deleting the first one or vice versa.

###Syntax###
#include <Array.au3>
_ArrayPush ( ByRef $avArray, $vValue [, $iDirection = 0] )


###Parameters###
@@ParamTable@@
$avArray
	Array to modify
$vValue
	Value(s) to add (can be in an array)
$iDirection
	[optional] Direction to push existing array elements:
		0 = Slide left (adding at the end)
		1 = Slide right (adding at the start)
@@End@@

###ReturnValue###
@@ReturnTable@@
Success:	1.
Failure:	0 and sets the @error flag to non-zero.
@error:	1 - $avArray is not an array
	2 - $vValue is an array larger than $avArray (so it can't fit)
	3 - $avArray is not a 1 dimensional array
@@End@@


###Remarks###
This function is used for continuous updates of data in array, where in other cases a vast size of array would be created.
It keeps all values inside the array (something like History), minus the first one or the last one depending on direction chosen.
It is similar to the push command in assembly.


###Related###
_ArrayAdd, _ArrayConcatenate, _ArrayDelete, _ArrayInsert, _ArrayPop


###Example###
@@IncludeExample@@
