diff options
Diffstat (limited to 'gobject/gvalue.c')
-rw-r--r-- | gobject/gvalue.c | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/gobject/gvalue.c b/gobject/gvalue.c index 10885dad8..9d974fac4 100644 --- a/gobject/gvalue.c +++ b/gobject/gvalue.c @@ -31,122 +31,6 @@ #include "gtype-private.h" -/** - * SECTION:generic_values - * @short_description: A polymorphic type that can hold values of any - * other type - * @see_also: The fundamental types which all support #GValue - * operations and thus can be used as a type initializer for - * g_value_init() are defined by a separate interface. See the - * [standard values API][gobject-Standard-Parameter-and-Value-Types] - * for details - * @title: Generic values - * - * The #GValue structure is basically a variable container that consists - * of a type identifier and a specific value of that type. - * - * The type identifier within a #GValue structure always determines the - * type of the associated value. - * - * To create an undefined #GValue structure, simply create a zero-filled - * #GValue structure. To initialize the #GValue, use the g_value_init() - * function. A #GValue cannot be used until it is initialized. Before - * destruction you must always use g_value_unset() to make sure allocated - * memory is freed. - * - * The basic type operations (such as freeing and copying) are determined - * by the #GTypeValueTable associated with the type ID stored in the #GValue. - * Other #GValue operations (such as converting values between types) are - * provided by this interface. - * - * The code in the example program below demonstrates #GValue's - * features. - * - * |[<!-- language="C" --> - * #include <glib-object.h> - * - * static void - * int2string (const GValue *src_value, - * GValue *dest_value) - * { - * if (g_value_get_int (src_value) == 42) - * g_value_set_static_string (dest_value, "An important number"); - * else - * g_value_set_static_string (dest_value, "What's that?"); - * } - * - * int - * main (int argc, - * char *argv[]) - * { - * // GValues must be initialized - * GValue a = G_VALUE_INIT; - * GValue b = G_VALUE_INIT; - * const gchar *message; - * - * // The GValue starts empty - * g_assert (!G_VALUE_HOLDS_STRING (&a)); - * - * // Put a string in it - * g_value_init (&a, G_TYPE_STRING); - * g_assert (G_VALUE_HOLDS_STRING (&a)); - * g_value_set_static_string (&a, "Hello, world!"); - * g_printf ("%s\n", g_value_get_string (&a)); - * - * // Reset it to its pristine state - * g_value_unset (&a); - * - * // It can then be reused for another type - * g_value_init (&a, G_TYPE_INT); - * g_value_set_int (&a, 42); - * - * // Attempt to transform it into a GValue of type STRING - * g_value_init (&b, G_TYPE_STRING); - * - * // An INT is transformable to a STRING - * g_assert (g_value_type_transformable (G_TYPE_INT, G_TYPE_STRING)); - * - * g_value_transform (&a, &b); - * g_printf ("%s\n", g_value_get_string (&b)); - * - * // Attempt to transform it again using a custom transform function - * g_value_register_transform_func (G_TYPE_INT, G_TYPE_STRING, int2string); - * g_value_transform (&a, &b); - * g_printf ("%s\n", g_value_get_string (&b)); - * return 0; - * } - * ]| - * - * See also [gobject-Standard-Parameter-and-Value-Types] for more information on - * validation of #GValue. - * - * For letting a #GValue own (and memory manage) arbitrary types or pointers, - * they need to become a [boxed type][gboxed]. The example below shows how - * the pointer `mystruct` of type `MyStruct` is used as a [boxed type][gboxed]. - * - * |[<!-- language="C" --> - * typedef struct { ... } MyStruct; - * G_DEFINE_BOXED_TYPE (MyStruct, my_struct, my_struct_copy, my_struct_free) - * - * // These two lines normally go in a public header. By GObject convention, - * // the naming scheme is NAMESPACE_TYPE_NAME: - * #define MY_TYPE_STRUCT (my_struct_get_type ()) - * GType my_struct_get_type (void); - * - * void - * foo () - * { - * GValue *value = g_new0 (GValue, 1); - * g_value_init (value, MY_TYPE_STRUCT); - * g_value_set_boxed (value, mystruct); - * // [... your code ....] - * g_value_unset (value); - * g_free (value); - * } - * ]| - */ - - /* --- typedefs & structures --- */ typedef struct { GType src_type; |