glib.string_chunk

Module for [StringChunk] class

Types 1

[glib.string_chunk.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.string_chunk.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 func@GLib.strdup since fewer calls to malloc() are needed, and less memory is wasted in memory allocation overheads.

By adding strings with [glib.string_chunk.StringChunk.insertConst] it is also possible to remove duplicates.

To create a new [glib.string_chunk.StringChunk] use [glib.string_chunk.StringChunk.new_].

To add strings to a [glib.string_chunk.StringChunk] use [glib.string_chunk.StringChunk.insert].

To add strings to a [glib.string_chunk.StringChunk], but without duplicating strings which are already in the [glib.string_chunk.StringChunk], use [glib.string_chunk.StringChunk.insertConst].

To free the entire [glib.string_chunk.StringChunk] use [glib.string_chunk.StringChunk.free]. It is not possible to free individual strings.

Fields
GStringChunk * _cInstancePtr
bool owned
Methods
void * _cPtr()
void clear()Frees all strings contained within the #GStringChunk. After calling [glib.string_chunk.StringChunk.clear] it is not safe to access any of the strings which were contained within it.
string insert(string string_)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...
string insertConst(string string_)Adds a copy of string to the #GStringChunk, unless the same string has already been added to the #GStringChunk with [glib.string_chunk.StringChunk.insertConst].
string insertLen(string string_, ptrdiff_t len)Adds a copy of the first len bytes of string to the #GStringChunk. The copy is nul-terminated.
Constructors
this(void * ptr, Flag!"Take" take)
Destructors