2020-02-22 21:59:09 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 21:18:53 +08:00
<class name= "StringName" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2020-02-22 21:59:09 +08:00
<brief_description >
2020-03-04 02:21:21 +08:00
An optimized string type for unique names.
2020-02-22 21:59:09 +08:00
</brief_description>
<description >
2022-03-13 08:04:51 +08:00
[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.
2020-02-22 21:59:09 +08:00
</description>
<tutorials >
</tutorials>
2021-09-21 10:49:02 +08:00
<constructors >
<constructor name= "StringName" >
2021-07-30 21:28:05 +08:00
<return type= "StringName" />
2020-11-10 00:46:03 +08:00
<description >
Constructs an empty [StringName].
</description>
2021-09-21 10:49:02 +08:00
</constructor>
<constructor name= "StringName" >
2021-07-30 21:28:05 +08:00
<return type= "StringName" />
<argument index= "0" name= "from" type= "StringName" />
2020-11-10 00:46:03 +08:00
<description >
Constructs a [StringName] as a copy of the given [StringName].
</description>
2021-09-21 10:49:02 +08:00
</constructor>
<constructor name= "StringName" >
2021-07-30 21:28:05 +08:00
<return type= "StringName" />
<argument index= "0" name= "from" type= "String" />
2020-02-22 21:59:09 +08:00
<description >
2022-03-13 08:04:51 +08:00
Creates a new [StringName] from the given [String]. [code]StringName("example")[/code] is equivalent to [code]& "example"[/code].
2020-02-22 21:59:09 +08:00
</description>
2021-09-21 10:49:02 +08:00
</constructor>
</constructors>
<operators >
<operator name= "operator !=" >
2021-07-30 21:28:05 +08:00
<return type= "bool" />
<argument index= "0" name= "right" type= "String" />
2020-11-10 21:16:20 +08:00
<description >
</description>
2021-09-21 10:49:02 +08:00
</operator>
<operator name= "operator !=" >
2021-07-30 21:28:05 +08:00
<return type= "bool" />
<argument index= "0" name= "right" type= "StringName" />
2020-11-10 21:16:20 +08:00
<description >
</description>
2021-09-21 10:49:02 +08:00
</operator>
2022-02-08 15:49:14 +08:00
<operator name= "operator <" >
<return type= "bool" />
<argument index= "0" name= "right" type= "StringName" />
<description >
</description>
</operator>
<operator name= "operator <=" >
<return type= "bool" />
<argument index= "0" name= "right" type= "StringName" />
<description >
</description>
</operator>
2021-09-21 10:49:02 +08:00
<operator name= "operator ==" >
2021-07-30 21:28:05 +08:00
<return type= "bool" />
<argument index= "0" name= "right" type= "String" />
2020-11-10 21:16:20 +08:00
<description >
</description>
2021-09-21 10:49:02 +08:00
</operator>
<operator name= "operator ==" >
2021-07-30 21:28:05 +08:00
<return type= "bool" />
<argument index= "0" name= "right" type= "StringName" />
2020-11-10 21:16:20 +08:00
<description >
</description>
2021-09-21 10:49:02 +08:00
</operator>
2022-02-08 15:49:14 +08:00
<operator name= "operator >" >
<return type= "bool" />
<argument index= "0" name= "right" type= "StringName" />
<description >
</description>
</operator>
<operator name= "operator >=" >
<return type= "bool" />
<argument index= "0" name= "right" type= "StringName" />
<description >
</description>
</operator>
2021-09-21 10:49:02 +08:00
</operators>
2020-02-22 21:59:09 +08:00
</class>