Value
Object Hierarchy:
Description:
[ 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
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
Content:
Static methods:
- public static void register_transform_func (Type src_type, Type dest_type, ValueTransform transform_func)
Registers a value transformation function for use in transform.
- public static bool type_compatible (Type src_type, Type dest_type)
Returns whether a Value of type
src_type
can be copied into a Value of typedest_type
. - public static bool type_transformable (Type src_type, Type dest_type)
Check whether transform is able to transform values of type
src_type
into values of typedest_type
.
Creation methods:
Methods:
- public void copy (ref Value dest_value)
Copies the value of this into
dest_value
. - public void* dup_boxed ()
Get the contents of a g_type_boxed derived Value.
- public Object dup_object ()
Get the contents of a g_type_object derived Value, increasing its reference count.
- public ParamSpec dup_param ()
Get the contents of a g_type_param Value, increasing its reference count.
- public string dup_string ()
Get a copy the contents of a g_type_string Value.
- public Variant? dup_variant ()
Get the contents of a variant Value, increasing its refcount.
- public bool fits_pointer ()
Determines if this will fit inside the size of a pointer value.
- public bool get_boolean ()
Get the contents of a g_type_boolean Value.
- public void* get_boxed ()
Get the contents of a g_type_boxed derived Value.
- public char get_char ()
Do not use this function; it is broken on platforms where the char type is unsigned, such as ARM and PowerPC.
- public double get_double ()
Get the contents of a g_type_double Value.
- public int get_enum ()
Get the contents of a g_type_enum Value.
- public uint get_flags ()
Get the contents of a g_type_flags Value.
- public float get_float ()
Get the contents of a g_type_float Value.
- public Type get_gtype ()
Get the contents of a g_type_gtype Value.
- public int get_int ()
Get the contents of a g_type_int Value.
- public int64 get_int64 ()
Get the contents of a g_type_int64 Value.
- public long get_long ()
Get the contents of a g_type_long Value.
- public unowned Object get_object ()
Get the contents of a g_type_object derived Value.
- public unowned ParamSpec get_param ()
Get the contents of a g_type_param Value.
- public void* get_pointer ()
Get the contents of a pointer Value.
- public int8 get_schar ()
Get the contents of a g_type_char Value.
- public unowned string get_string ()
Get the contents of a g_type_string Value.
- public uchar get_uchar ()
Get the contents of a g_type_uchar Value.
- public uint get_uint ()
Get the contents of a g_type_uint Value.
- public uint64 get_uint64 ()
Get the contents of a g_type_uint64 Value.
- public ulong get_ulong ()
Get the contents of a g_type_ulong Value.
- public Variant? get_variant ()
Get the contents of a variant Value.
- public bool holds (Type type)
- public unowned Value? init (Type g_type)
- public void init_from_instance (void* instance)
Initializes and sets this from an instantiatable type via the value_table's
collect_value
function. - public void* peek_pointer ()
Returns the value contents as pointer.
- public unowned Value? reset ()
Clears the current value in this and resets it to the default value (as if the value had just been initialized).
- public void set_boolean (bool v_boolean)
Set the contents of a g_type_boolean Value to
v_boolean
. - public void set_boxed (void* v_boxed)
Set the contents of a g_type_boxed derived Value to
v_boxed
. - public void set_char (char v_char)
Set the contents of a g_type_char Value to
v_char
. - public void set_double (double v_double)
Set the contents of a g_type_double Value to
v_double
. - public void set_enum (int v_enum)
Set the contents of a g_type_enum Value to
v_enum
. - public void set_flags (uint v_flags)
Set the contents of a g_type_flags Value to
v_flags
. - public void set_float (float v_float)
Set the contents of a g_type_float Value to
v_float
. - public void set_gtype (Type v_gtype)
Set the contents of a g_type_gtype Value to
v_gtype
. - public void set_instance (void* instance)
Sets this from an instantiatable type via the value_table's
collect_value
function. - public void set_int (int v_int)
Set the contents of a g_type_int Value to
v_int
. - public void set_int64 (int64 v_int64)
Set the contents of a g_type_int64 Value to
v_int64
. - public void set_interned_string (string? v_string)
Set the contents of a g_type_string Value to
v_string
. - public void set_long (long v_long)
Set the contents of a g_type_long Value to
v_long
. - public void set_object (Object? v_object)
Set the contents of a g_type_object derived Value to
v_object
. - public void set_param (ParamSpec? param)
Set the contents of a g_type_param Value to
param
. - public void set_param_take_ownership (owned ParamSpec? param)
This is an internal function introduced mainly for C marshallers.
- public void set_pointer (void* v_pointer)
Set the contents of a pointer Value to
v_pointer
. - public void set_schar (int8 v_char)
Set the contents of a g_type_char Value to
v_char
. - public void set_static_string (string? v_string)
Set the contents of a g_type_string Value to
v_string
. - public void set_string (string? v_string)
Set the contents of a g_type_string Value to a copy of
v_string
. - public void set_uchar (uchar v_uchar)
Set the contents of a g_type_uchar Value to
v_uchar
. - public void set_uint (uint v_uint)
Set the contents of a g_type_uint Value to
v_uint
. - public void set_uint64 (uint64 v_uint64)
Set the contents of a g_type_uint64 Value to
v_uint64
. - public void set_ulong (ulong v_ulong)
Set the contents of a g_type_ulong Value to
v_ulong
. - public void set_variant (Variant? variant)
Set the contents of a variant Value to
variant
. - public string strdup_contents ()
Return a newly allocated string, which describes the contents of a Value.
- public void take_boxed (void* v_boxed)
Sets the contents of a g_type_boxed derived Value to
v_boxed
and takes over the ownership of the caller’s reference tov_boxed
; the caller doesn’t have to unref it any more. - public void take_object (owned Object? v_object)
Sets the contents of a g_type_object derived Value to
v_object
and takes over the ownership of the caller’s reference tov_object
; the caller doesn’t have to unref it any more (i. - public void take_param (owned ParamSpec? param)
Sets the contents of a g_type_param Value to
param
and takes over the ownership of the caller’s reference toparam
; the caller doesn’t have to unref it any more. - public void take_string (owned string? v_string)
Sets the contents of a g_type_string Value to
v_string
. - public void take_variant (owned Variant? variant)
Set the contents of a variant Value to
variant
, and takes over the ownership of the caller's reference tovariant
; the caller doesn't have to unref it any more (i. - public bool transform (ref Value dest_value)
Tries to cast the contents of this into a type appropriate to store in
dest_value
, e. - public Type type ()
- public unowned string type_name ()
- public void unset ()
Clears the current value in this (if any) and "unsets" the type, this releases all resources associated with this GValue.