File: Quark.d

package info (click to toggle)
gtk-d 3.10.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 20,152 kB
  • sloc: javascript: 565; sh: 71; makefile: 25
file content (160 lines) | stat: -rw-r--r-- 5,120 bytes parent folder | download | duplicates (2)
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
/*
 * This file is part of gtkD.
 *
 * gtkD is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License
 * as published by the Free Software Foundation; either version 3
 * of the License, or (at your option) any later version, with
 * some exceptions, please read the COPYING file.
 *
 * gtkD is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with gtkD; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
 */

// generated automatically - do not change
// find conversion definition on APILookup.txt
// implement new conversion functionalities on the wrap.utils pakage


module glib.Quark;

private import glib.Str;
private import glib.c.functions;
public  import glib.c.types;
public  import gtkc.glibtypes;


/** */
public struct Quark
{

	/**
	 * Returns a canonical representation for @string. Interned strings
	 * can be compared for equality by comparing the pointers, instead of
	 * using strcmp(). g_intern_static_string() does not copy the string,
	 * therefore @string must not be freed or modified.
	 *
	 * This function must not be used before library constructors have finished
	 * running. In particular, this means it cannot be used to initialize global
	 * variables in C++.
	 *
	 * Params:
	 *     string_ = a static string
	 *
	 * Returns: a canonical representation for the string
	 *
	 * Since: 2.10
	 */
	public static string internStaticString(string string_)
	{
		return Str.toString(g_intern_static_string(Str.toStringz(string_)));
	}

	/**
	 * Returns a canonical representation for @string. Interned strings
	 * can be compared for equality by comparing the pointers, instead of
	 * using strcmp().
	 *
	 * This function must not be used before library constructors have finished
	 * running. In particular, this means it cannot be used to initialize global
	 * variables in C++.
	 *
	 * Params:
	 *     string_ = a string
	 *
	 * Returns: a canonical representation for the string
	 *
	 * Since: 2.10
	 */
	public static string internString(string string_)
	{
		return Str.toString(g_intern_string(Str.toStringz(string_)));
	}

	/**
	 * Gets the #GQuark identifying the given (static) string. If the
	 * string does not currently have an associated #GQuark, a new #GQuark
	 * is created, linked to the given string.
	 *
	 * Note that this function is identical to g_quark_from_string() except
	 * that if a new #GQuark is created the string itself is used rather
	 * than a copy. This saves memory, but can only be used if the string
	 * will continue to exist until the program terminates. It can be used
	 * with statically allocated strings in the main program, but not with
	 * statically allocated memory in dynamically loaded modules, if you
	 * expect to ever unload the module again (e.g. do not use this
	 * function in GTK+ theme engines).
	 *
	 * This function must not be used before library constructors have finished
	 * running. In particular, this means it cannot be used to initialize global
	 * variables in C++.
	 *
	 * Params:
	 *     string_ = a string
	 *
	 * Returns: the #GQuark identifying the string, or 0 if @string is %NULL
	 */
	public static GQuark quarkFromStaticString(string string_)
	{
		return g_quark_from_static_string(Str.toStringz(string_));
	}

	/**
	 * Gets the #GQuark identifying the given string. If the string does
	 * not currently have an associated #GQuark, a new #GQuark is created,
	 * using a copy of the string.
	 *
	 * This function must not be used before library constructors have finished
	 * running. In particular, this means it cannot be used to initialize global
	 * variables in C++.
	 *
	 * Params:
	 *     string_ = a string
	 *
	 * Returns: the #GQuark identifying the string, or 0 if @string is %NULL
	 */
	public static GQuark quarkFromString(string string_)
	{
		return g_quark_from_string(Str.toStringz(string_));
	}

	/**
	 * Gets the string associated with the given #GQuark.
	 *
	 * Params:
	 *     quark = a #GQuark.
	 *
	 * Returns: the string associated with the #GQuark
	 */
	public static string quarkToString(GQuark quark)
	{
		return Str.toString(g_quark_to_string(quark));
	}

	/**
	 * Gets the #GQuark associated with the given string, or 0 if string is
	 * %NULL or it has no associated #GQuark.
	 *
	 * If you want the GQuark to be created if it doesn't already exist,
	 * use g_quark_from_string() or g_quark_from_static_string().
	 *
	 * This function must not be used before library constructors have finished
	 * running.
	 *
	 * Params:
	 *     string_ = a string
	 *
	 * Returns: the #GQuark associated with the string, or 0 if @string is
	 *     %NULL or there is no #GQuark associated with it
	 */
	public static GQuark quarkTryString(string string_)
	{
		return g_quark_try_string(Str.toStringz(string_));
	}
}