<?xml version="1.0" encoding="UTF-8" ?> <class name="StringName" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> An optimized string type for unique names. </brief_description> <description> [StringName]s are immutable strings designed for general-purpose representation of unique names (also called "string interning"). [StringName] ensures that only one instance of a given name exists (so two [StringName]s with the same value are the same object). Comparing them is much faster than with regular [String]s, because only the pointers are compared, not the whole strings. You will usually just pass a [String] to methods expecting a [StringName] and it will be automatically converted, but you may occasionally want to construct a [StringName] ahead of time with [StringName] or the literal syntax [code]&"example"[/code]. See also [NodePath], which is a similar concept specifically designed to store pre-parsed node paths. </description> <tutorials> </tutorials> <constructors> <constructor name="StringName"> <return type="StringName" /> <description> Constructs an empty [StringName]. </description> </constructor> <constructor name="StringName"> <return type="StringName" /> <param index="0" name="from" type="StringName" /> <description> Constructs a [StringName] as a copy of the given [StringName]. </description> </constructor> <constructor name="StringName"> <return type="StringName" /> <param index="0" name="from" type="String" /> <description> Creates a new [StringName] from the given [String]. [code]StringName("example")[/code] is equivalent to [code]&"example"[/code]. </description> </constructor> </constructors> <methods> <method name="hash" qualifiers="const"> <return type="int" /> <description> Returns the 32-bit hash value representing the [StringName]'s contents. </description> </method> </methods> <operators> <operator name="operator !="> <return type="bool" /> <param index="0" name="right" type="String" /> <description> </description> </operator> <operator name="operator !="> <return type="bool" /> <param index="0" name="right" type="StringName" /> <description> </description> </operator> <operator name="operator <"> <return type="bool" /> <param index="0" name="right" type="StringName" /> <description> </description> </operator> <operator name="operator <="> <return type="bool" /> <param index="0" name="right" type="StringName" /> <description> </description> </operator> <operator name="operator =="> <return type="bool" /> <param index="0" name="right" type="String" /> <description> </description> </operator> <operator name="operator =="> <return type="bool" /> <param index="0" name="right" type="StringName" /> <description> </description> </operator> <operator name="operator >"> <return type="bool" /> <param index="0" name="right" type="StringName" /> <description> </description> </operator> <operator name="operator >="> <return type="bool" /> <param index="0" name="right" type="StringName" /> <description> </description> </operator> </operators> </class>