StringChunk

class StringChunk(pointer: <Error class: unknown class><<Error class: unknown class>>) : ProxyInstance

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.

Skipped during bindings generation

  • function new: Return type StringChunk is unsupported

Constructors

Link copied to clipboard
constructor(pointer: <Error class: unknown class><<Error class: unknown class>>)

Properties

Link copied to clipboard
val glibStringChunkPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open override val handle: <Error class: unknown class>?

Functions

Link copied to clipboard
fun 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.

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean

Compare two proxy instances for equality. This will compare both the type of the instances, and their memory addresses.

Link copied to clipboard
fun 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.

Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
fun insert(string: 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 change anything after the end of the string.

Link copied to clipboard
fun insertConst(string: String): String

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().

Link copied to clipboard
fun insertLen(string: String, len: Long): String

Adds a copy of the first @len bytes of @string to the #GStringChunk. The copy is nul-terminated.