GObject.TypeValueTable
Description: Reference for GObject.TypeValueTable

### Struct

# GObjectTypeValueTable

#### Description [src]

    struct GTypeValueTable {
      GTypeValueInitFunc value_init;
      GTypeValueFreeFunc value_free;
      GTypeValueCopyFunc value_copy;
      GTypeValuePeekPointerFunc value_peek_pointer;
      const gchar* collect_format;
      GTypeValueCollectFunc collect_value;
      const gchar* lcopy_format;
      GTypeValueLCopyFunc lcopy_value;
    }

- `'i'`: Integers, passed as `collect_values[].v_int`
- `'l'`: Longs, passed as `collect_values[].v_long`
- `'d'`: Doubles, passed as `collect_values[].v_double`
- `'p'`: Pointers, passed as `collect_values[].v_pointer`

It should be noted that for variable argument list construction, ANSI C promotes every type smaller than an integer to an int, and floats to doubles. So for collection of short int or char, `'i'` needs to be used, and for collection of floats `'d'`. The `GTypeValueTable` provides the functions required by the `GValue` implementation, to serve as a container for values of a type.

###### Structure members

`value_init:` `GTypeValueInitFunc`

  Function to initialize a GValue.

`value_free:` `GTypeValueFreeFunc`

  Function to free a GValue.

`value_copy:` `GTypeValueCopyFunc`

  Function to copy a GValue.

`value_peek_pointer:` `GTypeValuePeekPointerFunc`

  Function to peek the contents of a GValue if they fit into a pointer.

`collect_format:` `const gchar*`

  A string format describing how to collect the contents of this value bit-by-bit. Each character in the format represents an argument to be collected, and the characters themselves indicate the type of the argument. Currently supported arguments are:.

`collect_value:` `GTypeValueCollectFunc`

  Function to initialize a GValue from the values collected from variadic arguments.

`lcopy_format:` `const gchar*`

  Format description of the arguments to collect for `lcopy_value`, analogous to `collect_format`. Usually, `lcopy_format` string consists only of `'p'`s to provide `lcopy_value()` with pointers to storage locations.

`lcopy_value:` `GTypeValueLCopyFunc`

  Function to store the contents of a value into the locations collected from variadic arguments.

#### Functions

###### g_type_value_table_peek

Returns the location of the `GTypeValueTable` associated with `type`.