| <!-- ##### SECTION Title ##### --> |
| String Chunks |
| |
| <!-- ##### SECTION Short_Description ##### --> |
| efficient storage of groups of strings |
| |
| <!-- ##### SECTION Long_Description ##### --> |
| <para> |
| 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. |
| </para> |
| <para> |
| 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. |
| </para> |
| <para> |
| By adding strings with g_string_chunk_insert_const() it is also possible |
| to remove duplicates. |
| </para> |
| <para> |
| To create a new #GStringChunk use g_string_chunk_new(). |
| </para> |
| <para> |
| To add strings to a #GStringChunk use g_string_chunk_insert(). |
| </para> |
| <para> |
| To add strings to a #GStringChunk, but without duplicating strings which are |
| already in the #GStringChunk, use g_string_chunk_insert_const(). |
| </para> |
| <para> |
| To free the entire #GStringChunk use g_string_chunk_free(). |
| It is not possible to free individual strings. |
| </para> |
| |
| <!-- ##### SECTION See_Also ##### --> |
| <para> |
| |
| </para> |
| |
| <!-- ##### SECTION Stability_Level ##### --> |
| |
| |
| <!-- ##### STRUCT GStringChunk ##### --> |
| <para> |
| An opaque data structure representing String Chunks. |
| It should only be accessed by using the following functions. |
| </para> |
| |
| |
| <!-- ##### FUNCTION g_string_chunk_new ##### --> |
| <para> |
| |
| </para> |
| |
| @size: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_string_chunk_insert ##### --> |
| <para> |
| |
| </para> |
| |
| @chunk: |
| @string: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_string_chunk_insert_const ##### --> |
| <para> |
| |
| </para> |
| |
| @chunk: |
| @string: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_string_chunk_insert_len ##### --> |
| <para> |
| |
| </para> |
| |
| @chunk: |
| @string: |
| @len: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_string_chunk_clear ##### --> |
| <para> |
| |
| </para> |
| |
| @chunk: |
| |
| |
| <!-- ##### FUNCTION g_string_chunk_free ##### --> |
| <para> |
| |
| </para> |
| |
| @chunk: |
| |
| |