Object Hierarchy:

GLib.Value GLib.Value GLib.Value


[ CCode ( copy_function = "g_value_copy" , destroy_function = "g_value_unset" , get_value_function = "g_value_get_boxed" , marshaller_type_name = "BOXED" , set_value_function = "g_value_set_boxed" , take_value_function = "g_value_take_boxed" , type_id = "G_TYPE_VALUE" , type_signature = "v" ) ]
public struct Value

An opaque structure used to hold different types of values.

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

Value users cannot make any assumptions about how data is stored within the 2 element data union, and the g_type member should only be accessed through the type macro.

Example: GLib.Value and strings:

public static int main (string[] args) {
Value value1 = Value (typeof (string));
value1.set_string ("My string");

// Output: ``My string``
print ("%s\n", value1.get_string ());

// Output: ``My string``
print ("%s\n", value1.dup_string ());

// Output: ``My string``
print ("%s\n", (string) value1);

// Output: ``My string 2``
value1 = "My string 2";
print ("%s\n", (string) value1);

return 0;

valac --pkg gobject-2.0 GLib.Value.vala

Namespace: GLib
Package: gobject-2.0


Static methods:

Creation methods: