a 2-way association between a string and a unique integer identifier.
Quarks are associations between strings and integer identifiers. Given either
the string or the <g-quark> identifier it is possible to retrieve the
other.
Quarks are used for both Datasets and Keyed Data Lists.
To create a new quark from a string, use g-quark-from-string or
g-quark-from-static-string.
To find the string corresponding to a given <g-quark>, use
g-quark-to-string.
To find the <g-quark> corresponding to a given string, use
g-quark-try-string.
Another use for the string pool maintained for the quark functions is string
interning, using g-intern-string or g-intern-static-string. An
interned string is a canonical representation for a string. One important
advantage of interned strings is that they can be compared for equality by a
simple pointer comparision, rather than using strcmp.
mchars) ⇒ (ret unsigned-int)Gets the
<g-quark>identifying the given string. If the string does not currently have an associated<g-quark>, a new<g-quark>is created, using a copy of the string.
- string
- a string.
- ret
- the
<g-quark>identifying the string.
unsigned-int) ⇒ (ret mchars)Gets the string associated with the given
<g-quark>.
- quark
- a
<g-quark>.- ret
- the string associated with the
<g-quark>.
mchars) ⇒ (ret unsigned-int)Gets the
<g-quark>associated with the given string, or 0 if the string has no associated<g-quark>.If you want the GQuark to be created if it doesn't already exist, use
g-quark-from-stringorg-quark-from-static-string.
- string
- a string.
- ret
- the
<g-quark>associated with the string, or 0 if there is no<g-quark>associated with the string.