Basics
Guides
API Reference
Basics
Guides
API Reference
[25:7] extends: object
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 [func@GLib.strdup] since fewer calls to malloc() are needed, and less
memory is wasted in memory allocation overheads. By adding strings with
[method@GLib.StringChunk.insert_const] it is also possible to remove
duplicates. To create a new GStringChunk use [func@GLib.StringChunk.new].
To add strings to a GStringChunk use [method@GLib.StringChunk.insert]. To
add strings to a GStringChunk, but without duplicating strings which are
already in the GStringChunk, use [method@GLib.StringChunk.insert_const]. To
free the entire GStringChunk use [method@GLib.StringChunk.free]. It is not
possible to free individual strings.
GStringChunk (Handle = null)
Creates a new
StringChunkby wrapping a native handle or another wrapper.
Handle is the native handle or another wrapper whose handle to adopt.toNativeHandle (Source)
Normalizes a constructor argument into a raw pointer carrier. Accepts a raw NativeHandle, a raw NativeBuffer returned from
fn.call(...), another generated wrapper exposinghandle(), or null. Returns null when the argument carries no pointer.
Source is the raw handle, raw buffer, wrapper, or null.A raw pointer carrier or null when no pointer is present.getLib ()
Returns the opened native library for this generated wrapper.
The opened native library.handle ()
Returns the wrapped NativeHandle.
The wrapped NativeHandle.isNull ()
Returns true when the wrapped handle is null.
A bool.describe ()
Returns a small string for debugging generated wrappers.
A string.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.
None.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.
None.insert (string arg1String)
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. 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.
string is the string to add.a pointer to the copy of @string within the #GStringChunk.insert_const (string arg1String)
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(). 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.
string is the string to add.a pointer to the new or existing copy of @string within the #GStringChunk.insert_len (string arg1String, int len)
Adds a copy of the first @len bytes of @string to the #GStringChunk. 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
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.string is bytes to insert.len is number of bytes of @string to insert, or -1 to insert a nul-terminated string.a pointer to the copy of @string within the #GStringChunk.
Aussom
Write once. Embed everywhere.
Copyright 2026 Austin Lehman. All rights reserved.