Frees all strings contained within the GLib.StringChunk.
After calling g_string_chunk_clear() it is not safe to
access any of the strings which were contained within it.
Frees all memory allocated by the GLib.StringChunk.
After calling g_string_chunk_free() it is not safe to
access any of the strings which were contained within it.
Adds a copy of string to the GLib.StringChunk.
It returns a pointer to the new copy of the string
in the GLib.StringChunk. The characters in the string
can be changed, if necessary, though you should not
change anything after the end of the string.
Unlike g_string_chunk_insert_const(), this function
does not check for duplicates. Also strings added
with g_string_chunk_insert() will not be searched
by g_string_chunk_insert_const() when looking for
duplicates.
the string to add
a pointer to the copy of string within the GLib.StringChunk
Adds a copy of string to the GLib.StringChunk, unless the same
string has already been added to the GLib.StringChunk with
g_string_chunk_insert_const().
This function is useful if you need to copy a large number of strings but do not want to waste space storing duplicates. But you must remember that there may be several pointers to the same string, and so any changes made to the strings should be done very carefully.
Note that g_string_chunk_insert_const() will not return a
pointer to a string added with g_string_chunk_insert(), even
if they do match.
the string to add
a pointer to the new or existing copy of string within the GLib.StringChunk
Adds a copy of the first len bytes of string to the GLib.StringChunk.
The copy is nul-terminated.
Since this function does not stop at nul bytes, it is the caller's
responsibility to ensure that string has at least len addressable
bytes.
The characters in the returned string can be changed, if necessary, though you should not change anything after the end of the string.
bytes to insert
number of bytes of string to insert, or -1 to insert a nul-terminated string
a pointer to the copy of string within the GLib.StringChunk
GLib.StringChunk provides efficient storage of groups of strings
String chunks are used to store groups of strings. Memory is allocated in blocks, and as strings are added to the GLib.StringChunk they are copied into the next free position in a block. When a block is full a new block is allocated.
When storing a large number of strings, string chunks are more efficient than using GLib.strdup since fewer calls to
malloc()are needed, and less memory is wasted in memory allocation overheads.By adding strings with GLib.StringChunk.insert_const it is also possible to remove duplicates.
To create a new GLib.StringChunk use GLib.StringChunk.new.
To add strings to a GLib.StringChunk use GLib.StringChunk.insert.
To add strings to a GLib.StringChunk, but without duplicating strings which are already in the GLib.StringChunk, use GLib.StringChunk.insert_const.
To free the entire GLib.StringChunk use GLib.StringChunk.free. It is not possible to free individual strings.