<?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.map" module="max" category="Array">
	<digest>
		Perform an operation on every element of an array object, replacing elements in-place.
	</digest>
	<description>
		Each element of an incoming array will be output sequentially. After processing the element, it should be passed back into the right inlet of the <o>array.map</o> object, replacing the element in the array. When iteration is complete, the substituted array will be output.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			array
		</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>
				map response
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				mapped array out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				mapping entry output
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="2" type="OUTLET_TYPE">
			<digest>
				element index
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<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="ARG_NAME_0" type="int" optional="0" />
			</arglist>
			<digest>
				Convert an integer to an array.
			</digest>
			<description>
				In the left inlet, convert an incoming integer to an array, then process as described for the <m>array</m> message. In the right inlet, the incoming value will replace the last-output array element and either trigger the next phase of the iteration, or, if the iteration is complete, cause output of the mapped array.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="ARG_NAME_0" type="float" optional="0" />
			</arglist>
			<digest>
				Convert a floating-point number to an array.
			</digest>
			<description>
				In the left inlet, convert an incoming floating-point number to an array, then process as described for the <m>array</m> message. In the right inlet, the incoming value will replace the last-output array element and either trigger the next phase of the iteration, or, if the iteration is complete, cause output of the mapped array.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Convert a list to an array.
			</digest>
			<description>
				In the left inlet, convert an incoming list to an array, then process as described for the <m>array</m> message. In the right inlet, the incoming value will replace the last-output array element and either trigger the next phase of the iteration, or, if the iteration is complete, cause output of the mapped array.
			</description>
		</method>
		<method name="anything">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Convert a list to an array.
			</digest>
			<description>
				In the left inlet, convert an incoming list to an array, then process as described for the <m>array</m> message. In the right inlet, the incoming value will replace the last-output array element and either trigger the next phase of the iteration, or, if the iteration is complete, cause output of the mapped array.
			</description>
		</method>
		<method name="array">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Iterate elements and perform an operation on each one
			</digest>
			<description>
				In the left inlet, an incoming array will trigger the output of each element sequentially, as a series of individual messages. The element index will be output from the rightmost outlet, and the element value from the middle outlet.
				<br />
				<br />
				Each of these messages can be processed (synchronously or asynchronously) and then returned to the <o>array.map</o> object's right inlet. In the right inlet, the incoming value will replace the last-output array element and either trigger the next phase of the iteration, or, if the iteration is complete, cause output of the mapped array.
			</description>
		</method>
		<method name="cancel">
			<arglist>
				<arg name="ARG_NAME_0" type="symbol" optional="0" />
			</arglist>
			<digest>
				Cancel array mapping.
			</digest>
			<description>
				Cancels the currently active mapping operation. The <o>array.map</o> object will now be ready to start mapping a new array.
			</description>
		</method>
		<method name="dictionary">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Wrap a dictionary object in an array.
			</digest>
			<description>
				In the left inlet, wrap an incoming dictionary object in an array, then process as described for the <m>array</m> message. In the right inlet, the incoming value will replace the last-output array element and either trigger the next phase of the iteration, or, if the iteration is complete, cause output of the mapped array.
			</description>
		</method>
		<method name="string">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Wrap a string object in an array.
			</digest>
			<description>
				In the left inlet, wrap a string object in an array, then process as described for the <m>array</m> message. In the right inlet, the incoming value will replace the last-output array element and either trigger the next phase of the iteration, or, if the iteration is complete, cause output of the mapped array.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="array" />
		<seealso name="array.filter" />
		<seealso name="array.reduce" />
	</seealsolist>
</c74object>
