<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<!--This is an automatically generated file. DO NOT EDIT THIS FILE DIRECTLY. Rather, use the _ref.xml files found in the 'edits' folder.-->
<c74object name="array.unshift" module="max" category="Array">
	<digest>
		Add one or more elements to the beginning of an array.
	</digest>
	<description>
		The base array is sent to the right inlet, which clears any elements send to the left inlet. Additional elements are sent to the left inlet, and can be repeatedly placed at the front of the output array, without the user needing to update the array in the right inlet. Unlike the JavaScript implementation, the input array is not changed in place.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			TEXT_HERE
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				array in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				array in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				unshifted array out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg id="0" name="OBJARG_NAME" type="OBJARG_TYPE" optional="0">
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Trigger output
			</digest>
			<description>
				Reprocess previously received array and trigger output.
			</description>
		</method>
		<method name="int">
			<arglist>
				<arg name="value" type="int" optional="0" />
			</arglist>
			<digest>
				Unshift an integer value
			</digest>
			<description>
				In the left inlet, the integer value will be added to the beginning of the base array and the result will be output. In the right inlet, convert an incoming integer to an array and replace the base array.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="value" type="float" optional="0" />
			</arglist>
			<digest>
				Unshift a floating-point value
			</digest>
			<description>
				In the left inlet, the floating-point value will be added to the beginning of the base array and the result will be output. In the right inlet, convert an incoming floating-point value to an array and replace the base array.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="list-value" type="list" optional="0" />
			</arglist>
			<digest>
				Unshift a list
			</digest>
			<description>
				In the left inlet, the list will be added to the beginning of the base array and the result will be output. In the right inlet, convert an incoming list to an array and replace the base array.
			</description>
		</method>
		<method name="anything">
			<arglist>
				<arg name="list-value" type="list" optional="0" />
			</arglist>
			<digest>
				Unshift a list
			</digest>
			<description>
				In the left inlet, the list will be added to the beginning of the base array and the result will be output. In the right inlet, convert an incoming list to an array and replace the base array.
			</description>
		</method>
		<method name="array">
			<arglist>
				<arg name="array-value" type="list" optional="0" />
			</arglist>
			<digest>
				Unshift an array
			</digest>
			<description>
				In the left inlet, the array will be added to the beginning of the base array and the result will be output. In the right inlet, replace the base array with the incoming array.
			</description>
		</method>
		<method name="clear">
			<arglist>
				<arg name="clear" type="float" optional="0" />
			</arglist>
			<digest>
				Reset the internal state of the object.
			</digest>
			<description>
				All internal arrays will be cleared.
			</description>
		</method>
		<method name="dictionary">
			<arglist>
				<arg name="dictionary-value" type="dictionary" optional="0" />
			</arglist>
			<digest>
				Unshift a dictionary
			</digest>
			<description>
				In the left inlet, the dictionary will be added to the beginning of the base array and the result will be output. In the right inlet, wrap the dictionary in an array, and replace the base array.
			</description>
		</method>
		<method name="string">
			<arglist>
				<arg name="string-value" type="string" optional="0" />
			</arglist>
			<digest>
				Unshift a string
			</digest>
			<description>
				In the left inlet, the string will be added to the beginning of the base array and the result will be output. In the right inlet, wrap the string in an array, and replace the base array.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="wrapmode" get="1" set="1" type="int" size="1">
			<digest>
				Wrap elements in array
			</digest>
			<description>
				When enabled, elements arriving at the left inlet will be wrapped in an array before being unshifted. By default, elements are unshifted unwrapped.
			</description>
			<attributelist>
				<attribute name="default" get="1" set="1" type="int" size="1" value="0" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Wrap elements in array" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
	</attributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="array" />
		<seealso name="array.concat" />
		<seealso name="array.pop" />
		<seealso name="array.push" />
		<seealso name="array.shift" />
		<seealso name="zl.queue" />
		<seealso name="zl.stack" />
	</seealsolist>
</c74object>
