Frees all the data elements of the datalist. The data elements' destroy functions are called if they have been set.
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. Note that this function is NOT thread-safe. So unless @datalist can be protected from any modifications during invocation of this function, it should not be called.
Gets a data element, using its string identifier. This is slower than g_datalist_id_get_data() because it compares strings.
Gets flags values packed in together with the datalist. See g_datalist_set_flags().
This is a variant of g_datalist_id_get_data() which returns a 'duplicate' of the value. @dup_func defines the meaning of 'duplicate' in this context, it could e.g. take a reference on a ref-counted object.
Retrieves the data element corresponding to @key_id.
Removes an element, without calling its destroy notification function.
Compares the member that is associated with @key_id in @datalist to @oldval, and if they are the same, replace @oldval with @newval.
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.
Resets the datalist to %NULL. It does not free any memory or call any destroy functions.
Turns on flag values for a data list. This function is used to keep a small number of boolean flags in an object with a data list without using any additional space. It is not generally useful except in circumstances where space is very tight. (It is used in the base #GObject type, for example.)
Turns off flag values for a data list. See g_datalist_unset_flags()