Struct
GLibStringChunk
Description [src]
struct GStringChunk {
/* No available fields */
}
GStringChunk
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 GStringChunk
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 g_strdup()
since fewer calls to malloc()
are needed, and less memory is wasted in memory allocation overheads.
By adding strings with g_string_chunk_insert_const()
it is also
possible to remove duplicates.
To create a new GStringChunk
use g_string_chunk_new()
.
To add strings to a GStringChunk
use g_string_chunk_insert()
.
To add strings to a GStringChunk
, but without duplicating strings
which are already in the GStringChunk
, use g_string_chunk_insert_const()
.
To free the entire GStringChunk
use g_string_chunk_free()
.
It is not possible to free individual strings.
Instance methods
g_string_chunk_clear
Frees all strings contained within the GStringChunk
.
After calling g_string_chunk_clear()
it is not safe to
access any of the strings which were contained within it.
since: 2.14
g_string_chunk_free
Frees all memory allocated by the GStringChunk
.
After calling g_string_chunk_free()
it is not safe to
access any of the strings which were contained within it.
g_string_chunk_insert
Adds a copy of string
to the GStringChunk
.
It returns a pointer to the new copy of the string
in the GStringChunk
. The characters in the string
can be changed, if necessary, though you should not
change anything after the end of the string.
g_string_chunk_insert_const
Adds a copy of string
to the GStringChunk
, unless the same
string has already been added to the GStringChunk
with g_string_chunk_insert_const().
g_string_chunk_insert_len
Adds a copy of the first len
bytes of string
to the GStringChunk
.
The copy is nul-terminated.
since: 2.4