Name
Keyed Data Lists -- lists of data elements which are accessible by a string or
GQuark identifier.
Synopsis
#include <glib.h>
struct GData;
void g_datalist_init (GData **datalist);
#define g_datalist_id_set_data (dl, q, d)
void g_datalist_id_set_data_full (GData **datalist,
GQuark key_id,
gpointer data,
GDestroyNotify destroy_func);
gpointer g_datalist_id_get_data (GData **datalist,
GQuark key_id);
#define g_datalist_id_remove_data (dl, q)
void g_datalist_id_remove_no_notify (GData **datalist,
GQuark key_id);
#define g_datalist_set_data (dl, k, d)
#define g_datalist_set_data_full (dl, k, d, f)
#define g_datalist_get_data (dl, k)
#define g_datalist_remove_data (dl, k)
#define g_datalist_remove_no_notify (dl, k)
void g_datalist_foreach (GData **datalist,
GDataForeachFunc func,
gpointer user_data);
void g_datalist_clear (GData **datalist); |
Details
struct GData
The GData struct is an opaque data structure to represent a
Keyed Data List.
It should only be accessed via the following functions.
g_datalist_init ()
void g_datalist_init (GData **datalist); |
Resets the datalist to NULL.
It does not free any memory or call any destroy functions.
g_datalist_id_set_data()
#define g_datalist_id_set_data(dl, q, d) |
Sets the data corresponding to the given GQuark id.
Any previous data with the same key is removed, and its
destroy function is called.
g_datalist_id_set_data_full ()
Sets the data corresponding to the given GQuark id, and the function to
be called when the element is removed from the datalist.
Any previous data with the same key is removed, and its
destroy function is called.
g_datalist_id_get_data ()
Gets a data element.
g_datalist_id_remove_data()
#define g_datalist_id_remove_data(dl, q) |
Removes an element, using its GQuark identifier.
g_datalist_id_remove_no_notify ()
void g_datalist_id_remove_no_notify (GData **datalist,
GQuark key_id); |
g_datalist_set_data()
#define g_datalist_set_data(dl, k, d) |
Sets the data element corresponding to the given string identifier.
g_datalist_set_data_full()
#define g_datalist_set_data_full(dl, k, d, f) |
Sets the data element corresponding to the given string identifier, and the
function to be called when the data element is removed.
g_datalist_get_data()
#define g_datalist_get_data(dl, k) |
Gets a data element, using its string identifer.
This is slower than g_datalist_id_get_data() because the string is first
converted to a GQuark.
g_datalist_remove_data()
#define g_datalist_remove_data(dl, k) |
Removes an element using its string identifier.
The data element's destroy function is called if it has been set.
g_datalist_remove_no_notify()
#define g_datalist_remove_no_notify(dl, k) |
g_datalist_foreach ()
Calls the given function for each data element of the datalist.
The function is called with each data element's GQuark id and data,
together with the given user_data parameter.
g_datalist_clear ()
void g_datalist_clear (GData **datalist); |
Frees all the data elements of the datalist.
The data elements' destroy functions are called if they have been set.