gobject/: fully remove gobjectalias hacks
[platform/upstream/glib.git] / gobject / gvalue.c
index 02089f6..9247d4c 100644 (file)
@@ -28,7 +28,6 @@
 #include "gvalue.h"
 #include "gvaluecollector.h"
 #include "gbsearcharray.h"
-#include "gobjectalias.h"
 
 
 /**
  * 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.
+ *
+ * |[
+ * #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 start zero-filled */
+ *   GValue a = {0};
+ *   GValue b = {0};
+ *   const gchar *message;
+ *
+ *   g_type_init ();
+ *
+ *   /* 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;
+ * }
+ * ]|
  */
 
 
@@ -74,7 +133,7 @@ static GBSearchArray *transform_array = NULL;
 static GBSearchConfig transform_bconfig = {
   sizeof (TransformEntry),
   transform_entries_cmp,
-  0,
+  G_BSEARCH_ARRAY_ALIGN_POWER2,
 };
 
 
@@ -494,6 +553,3 @@ g_value_transform (const GValue *src_value,
     }
   return FALSE;
 }
-
-#define __G_VALUE_C__
-#include "gobjectaliasdef.c"