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