Class Value

java.lang.Object
org.javagi.base.ProxyInstance
org.gnome.gobject.Value
All Implemented Interfaces:
Proxy

@Generated("io.github.jwharm.JavaGI") public class Value extends ProxyInstance
An opaque structure used to hold different types of values.

Before it can be used, a GValue has to be initialized to a specific type by calling init(org.gnome.glib.Type) on it.

Many types which are stored within a GValue need to allocate data on the heap, so unset() must always be called on a GValue to free any such data once you’re finished with the GValue, even if the GValue itself is stored on the stack.

The data within the structure has protected scope: it is accessible only to functions within a GObject.TypeValueTable structure, or implementations of the g_value_*() API. That is, code which implements new fundamental types.

GValue users cannot make any assumptions about how data is stored within the 2 element data union, and the gType member should only be accessed through the GObjects#VALUETYPE macro and related macros.