StringChunk

class StringChunk(val glibStringChunkPointer: <Error class: unknown class><<Error class: unknown class>>) : ProxyInstance(source)

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.

Constructors

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

Types

Link copied to clipboard
object Companion

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
open override fun addCleaner(cleaner: <Error class: unknown class>): Boolean

Registers a cleaner to be executed when this proxy object is garbage collected.

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

Link copied to clipboard
open override fun removeCleaner(cleaner: <Error class: unknown class>): Boolean

Removes a previously registered cleaner from this proxy object.