Cache

A glib.cache.Cache allows sharing of complex data structures, in order to save system resources.

glib.cache.Cache uses keys and values. A glib.cache.Cache key describes the properties of a particular resource. A glib.cache.Cache value is the actual resource.

glib.cache.Cache has been marked as deprecated, since this API is rarely used and not very actively maintained.

More...

Constructors

this
this(void* ptr, Flag!"Take" take)

Members

Functions

cPtr
void* cPtr()
destroy
void destroy()

Frees the memory allocated for the #GCache.

insert
void* insert(void* key)

Gets the value corresponding to the given key, creating it if necessary. It first checks if the value already exists in the #GCache, by using the key_equal_func function passed to glib.cache.Cache.new_. If it does already exist it is returned, and its reference count is increased by one. If the value does not currently exist, if is created by calling the value_new_func. The key is duplicated by calling key_dup_func and the duplicated key and value are inserted into the #GCache.

keyForeach
void keyForeach(glib.types.HFunc func)

Calls the given function for each of the keys in the #GCache.

remove
void remove(const(void)* value)

Decreases the reference count of the given value. If it drops to 0 then the value and its corresponding key are destroyed, using the value_destroy_func and key_destroy_func passed to glib.cache.Cache.new_.

valueForeach
void valueForeach(glib.types.HFunc func)

Calls the given function for each of the values in the #GCache.

Detailed Description

Deprecated: Use a #GHashTable instead