<?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="string" module="max" category="String">
	<digest>
		Create or duplicate a string object.
	</digest>
	<description>
		Create a string, a block of text in memory that is not stored in Max's symbol table.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			string
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				messages in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				set string value, messages in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				string out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				atoms out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="2" type="OUTLET_TYPE">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg id="0" name="value" type="atoms" optional="1">
			<digest>
				initial string value
			</digest>
			<description>
				TEXT_HERE
			</description>
		</objarg>
	</objarglist>
	<!--parameter-->
	<parameter />
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Trigger output
			</digest>
			<description>
				Reprocess previously received values and trigger output.
			</description>
		</method>
		<method name="int">
			<arglist>
				<arg name="value" type="int" optional="0" />
			</arglist>
			<digest>
				Convert an integer to a string.
			</digest>
			<description>
				Convert an incoming integer to a string, then output the string.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="value" type="float" optional="0" />
			</arglist>
			<digest>
				Convert a floating-point number to a string.
			</digest>
			<description>
				Convert an incoming floating-point number to a string, then output the string.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="list-value" type="list" optional="0" />
			</arglist>
			<digest>
				Convert a list to a string.
			</digest>
			<description>
				Convert an incoming list to a string, then output the string.
			</description>
		</method>
		<method name="anything">
			<arglist>
				<arg name="list-value" type="list" optional="0" />
			</arglist>
			<digest>
				Convert a list to a string.
			</digest>
			<description>
				Convert an incoming list to a string, then output the string.
			</description>
		</method>
		<method name="append">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Append a list to the string.
			</digest>
			<description>
				Convert a list to a string, then append it to the currently stored string value.
			</description>
		</method>
		<method name="atoms">
			<arglist />
			<digest>
				Convert the string to a list of atoms.
			</digest>
			<description>
				Separate the string on every space character, then send the list out the middle outlet. Commas and other special characters are escaped. If you want to separate on another character, use <o>string.tolist</o>.
			</description>
		</method>
		<method name="clear">
			<arglist />
			<digest>
				Clear the currently stored string value.
			</digest>
			<description>
				After clearing, the contents of the string object will be the empty string.
			</description>
		</method>
		<method name="prepend">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Prepend a list to the string.
			</digest>
			<description>
				Convert a list to a string, then add it to the beginninng of the currently stored string value.
			</description>
		</method>
		<method name="string">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Copy a string's contents.
			</digest>
			<description>
				The contents of the received string are copied to the internal string. The internal string is not renamed.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="length" get="1" set="0" type="int" size="1">
			<digest>
				Get the legnth of the string
			</digest>
			<description>
				Get the length of the string.
			</description>
		</attribute>
		<attribute name="name" get="1" set="1" type="symbol" size="1">
			<digest>
				The unique name of the internal string.
			</digest>
			<description>
				Similar to an array, dictionary, or matrix, all string objects have a name. If no name is given, a unique one is assigned automatically. If two string objects share the same name, they also share the same memory, so updating one will update the other.
			</description>
		</attribute>
		<attribute name="parameter_enable" get="1" set="1" type="int" size="1">
			<digest>
				Parameter Mode Enable
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Parameter" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Parameter Mode Enable" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="5" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="parameter_mappable" get="1" set="1" type="int" size="1">
			<digest>
				Visible to Mapping
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="category" get="1" set="1" type="atom" size="1" value="Parameter" />
				<attribute name="default" get="1" set="1" type="int" size="1" value="1" />
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Visible to Mapping" />
				<attribute name="order" get="1" set="1" type="int" size="1" value="10" />
				<attribute name="save" get="1" set="1" type="int" size="1" value="1" />
				<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="string.append" />
		<seealso name="string.bytes" />
		<seealso name="string.change" />
		<seealso name="string.compare" />
		<seealso name="string.concat" />
		<seealso name="string.contains" />
		<seealso name="string.endswith" />
		<seealso name="string.frombytes" />
		<seealso name="string.fromsymlist" />
		<seealso name="string.fromutf8" />
		<seealso name="string.index" />
		<seealso name="string.indexof" />
		<seealso name="string.iter" />
		<seealso name="string.length" />
		<seealso name="string.passcmp" />
		<seealso name="string.prepend" />
		<seealso name="string.remove" />
		<seealso name="string.replace" />
		<seealso name="string.replaceall" />
		<seealso name="string.reverse" />
		<seealso name="string.rotate" />
		<seealso name="string.slice" />
		<seealso name="string.split" />
		<seealso name="string.startswith" />
		<seealso name="string.substring" />
		<seealso name="string.toarray" />
		<seealso name="string.tolist" />
		<seealso name="string.tolower" />
		<seealso name="string.tosymbol" />
		<seealso name="string.toupper" />
		<seealso name="string.trim" />
		<seealso name="string.trimend" />
		<seealso name="string.trimstart" />
		<seealso name="string.utf8" />
	</seealsolist>
	<discussion>
		Because strings are not stored in Max's symbol table, it can be more efficient to work with strings when the text contents change frequently. String objects are also more efficient than symbols for operations like splitting, replacing, substring searching, etc.
	</discussion>
</c74object>
