### Struct

# GLib StringChunk

since: 2.0

#### Description

    struct GStringChunk {
      /* No available fields */
    }

`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 `g_strdup()` since fewer calls to `malloc()` are needed, and less memory is wasted in memory allocation overheads.

By adding strings with `g_string_chunk_insert_const()` it is also possible to remove duplicates.

To create a new `GStringChunk` use `g_string_chunk_new()`.

To add strings to a `GStringChunk` use `g_string_chunk_insert()`.

To add strings to a `GStringChunk`, but without duplicating strings which are already in the `GStringChunk`, use `g_string_chunk_insert_const()`.

To free the entire `GStringChunk` use `g_string_chunk_free()`. It is not possible to free individual strings.

Available since: 2.0

#### Functions

###### g_string_chunk_new

Creates a new `GStringChunk`.

since: 2.0

#### Instance methods

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

since: 2.14

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

since: 2.0

###### g_string_chunk_insert

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.

since: 2.0

###### g_string_chunk_insert_const

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

since: 2.0

###### g_string_chunk_insert_len

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

since: 2.4