Skip to content

GValue: Add interned string support

Edward Hervey requested to merge edwardrv/glib:value-interned into master

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 (closed)

Edited by Sebastian Dröge

Merge request reports