glib.StringGChunk.StringGChunk Class Reference

List of all members.

Detailed Description

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


Public Member Functions

GStringChunkgetStringGChunkStruct ()
 this (GStringChunk *gStringChunk)
 Sets our main struct and passes it to the parent class.
 this (uint size)
 Creates a new GStringChunk.
char[] insert (char[] string)
 Adds a copy of string to the GStringChunk.
char[] insertConst (char[] 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().
char[] insertLen (char[] string, int len)
 Adds a copy of the first len bytes of string to the GStringChunk.
void clear ()
 Frees all strings contained within the GStringChunk.
void free ()
 Frees all memory allocated by the GStringChunk.

Protected Member Functions

void * getStruct ()
 the main Gtk struct as a void*

Protected Attributes

GStringChunkgStringChunk
 the main Gtk struct


Constructor & Destructor Documentation

glib.StringGChunk.StringGChunk.this ( GStringChunk gStringChunk  ) 

Sets our main struct and passes it to the parent class.

glib.StringGChunk.StringGChunk.this ( uint  size  ) 

Creates a new GStringChunk.

Creates a new GStringChunk. size: the default size of the blocks of memory which are allocated to store the strings. If a particular string is larger than this default size, a larger block of memory will be allocated for it. Returns: a new GStringChunk


Member Function Documentation

void glib.StringGChunk.StringGChunk.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. chunk: a GStringChunk Since 2.14

void glib.StringGChunk.StringGChunk.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. 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. chunk: a GStringChunk

GStringChunk* glib.StringGChunk.StringGChunk.getStringGChunkStruct (  ) 

void* glib.StringGChunk.StringGChunk.getStruct (  )  [protected]

the main Gtk struct as a void*

char [] glib.StringGChunk.StringGChunk.insert ( char[]  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. 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. 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. chunk: a GStringChunk string: the string to add Returns: a pointer to the copy of string within the GStringChunk.

char [] glib.StringGChunk.StringGChunk.insertConst ( char[]  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().

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. 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. chunk: a GStringChunk string: the string to add Returns: a pointer to the new or existing copy of string within the GStringChunk

char [] glib.StringGChunk.StringGChunk.insertLen ( char[]  string,
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 len 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. chunk: a GStringChunk string: bytes to insert len: number of bytes of string to insert, or -1 to insert a nul-terminated string. Returns: a pointer to the copy of string within the GStringChunk Since 2.4


Member Data Documentation

GStringChunk* glib.StringGChunk.StringGChunk.gStringChunk [protected]

the main Gtk struct


SourceForge.net Logo DSource.org Logo digitalmars.com Logo