summaryrefslogtreecommitdiff
path: root/doc/classes/StringName.xml
blob: a2bcac978805e4eed7bf8ecdec94af65453486bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?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]&amp;"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" />
			<argument 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" />
			<argument index="0" name="from" type="String" />
			<description>
				Creates a new [StringName] from the given [String]. [code]StringName("example")[/code] is equivalent to [code]&amp;"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" />
			<argument index="0" name="right" type="String" />
			<description>
			</description>
		</operator>
		<operator name="operator !=">
			<return type="bool" />
			<argument index="0" name="right" type="StringName" />
			<description>
			</description>
		</operator>
		<operator name="operator &lt;">
			<return type="bool" />
			<argument index="0" name="right" type="StringName" />
			<description>
			</description>
		</operator>
		<operator name="operator &lt;=">
			<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="String" />
			<description>
			</description>
		</operator>
		<operator name="operator ==">
			<return type="bool" />
			<argument index="0" name="right" type="StringName" />
			<description>
			</description>
		</operator>
		<operator name="operator &gt;">
			<return type="bool" />
			<argument index="0" name="right" type="StringName" />
			<description>
			</description>
		</operator>
		<operator name="operator &gt;=">
			<return type="bool" />
			<argument index="0" name="right" type="StringName" />
			<description>
			</description>
		</operator>
	</operators>
</class>