mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-07-24 02:47:52 +02:00
GValue: Add interned string support
This adds support to be able to explicitely stored interned strings into G_TYPE_STRING GValue. This is useful for cases where the user: * *knows* the string to be stored in the GValue is canonical * Wants to know whther the string stored is canonical This allows: * zero-cost GValue copy (the content is guaranteed to be unique and exist throughout the process life) * zero-cost string equality checks (if both string GValue are interned, you just need to check the pointers for equality or not, instead of doing a strcmp). Fixes #2109
This commit is contained in:
committed by
Edward Hervey
parent
c964749de6
commit
1a95ce84ed
@@ -684,6 +684,8 @@ G_IS_PARAM_SPEC_STRING
|
||||
G_PARAM_SPEC_STRING
|
||||
G_VALUE_HOLDS_STRING
|
||||
G_TYPE_PARAM_STRING
|
||||
G_VALUE_IS_INTERNED_STRING
|
||||
G_VALUE_INTERNED_STRING
|
||||
GParamSpecString
|
||||
gchararray
|
||||
g_param_spec_string
|
||||
@@ -693,6 +695,7 @@ g_value_take_string
|
||||
g_value_set_string_take_ownership
|
||||
g_value_get_string
|
||||
g_value_dup_string
|
||||
g_value_set_interned_string
|
||||
|
||||
<SUBSECTION GParamSpec>
|
||||
G_IS_PARAM_SPEC_PARAM
|
||||
|
Reference in New Issue
Block a user