## Common Types

Common Types — TODO

## Functions

#define | GI_TYPE_TAG_IS_BASIC()
#define | GI_TYPE_TAG_IS_CONTAINER()
#define | GI_TYPE_TAG_IS_NUMERIC()
#define | G_TYPE_TAG_IS_BASIC()
const gchar * | g_type_tag_to_string ()

## Types and Values

| GIArgument
enum | GITypeTag
enum | GIArrayType
#define | GI_TYPE_TAG_N_TYPES

## Description

TODO

## Functions

### GI_TYPE_TAG_IS_BASIC()

    #define GI_TYPE_TAG_IS_BASIC(tag) ((tag) < GI_TYPE_TAG_ARRAY || (tag) == GI_TYPE_TAG_UNICHAR)

Checks if `tag` is a basic type.

#### Parameters

tag | a type tag |

Since: 1.72

### GI_TYPE_TAG_IS_CONTAINER()

    #define             GI_TYPE_TAG_IS_CONTAINER(tag)

Checks if `tag` is a container type. That is, a type which may have a nonnull return from `g_type_info_get_param_type()`.

#### Parameters

tag | a type tag |

Since: 1.72

### GI_TYPE_TAG_IS_NUMERIC()

    #define GI_TYPE_TAG_IS_NUMERIC(tag) ((tag) >= GI_TYPE_TAG_INT8 && (tag) <= GI_TYPE_TAG_DOUBLE)

Checks if `tag` is a numeric type. That is, integer or floating point.

#### Parameters

tag | a type tag |

Since: 1.72

### G_TYPE_TAG_IS_BASIC()

    #define G_TYPE_TAG_IS_BASIC(tag) GI_TYPE_TAG_IS_BASIC(tag)

`G_TYPE_TAG_IS_BASIC` has been deprecated since version 1.72 and should not be used in newly-written code.

Use `GI_TYPE_TAG_IS_BASIC()` instead

Checks if `tag` is a basic type.

#### Parameters

tag | a type tag |

### g_type_tag_to_string ()

    const gchar *
    g_type_tag_to_string (GITypeTag type);

Obtain a string representation of `type`

#### Parameters

type | the type_tag |

#### Returns

the string

## Types and Values

### GIArgument

Stores an argument of varying type

#### Members

gboolean `v_boolean`; | TODO |
gint8 `v_int8`; | TODO |
guint8 `v_uint8`; | TODO |
gint16 `v_int16`; | TODO |
guint16 `v_uint16`; | TODO |
gint32 `v_int32`; | TODO |
guint32 `v_uint32`; | TODO |
gint64 `v_int64`; | TODO |
guint64 `v_uint64`; | TODO |
gfloat `v_float`; | TODO |
gdouble `v_double`; | TODO |
gshort `v_short`; | TODO |
gushort `v_ushort`; | TODO |
gint `v_int`; | TODO |
guint `v_uint`; | TODO |
glong `v_long`; | TODO |
gulong `v_ulong`; | TODO |
gssize `v_ssize`; | TODO |
gsize `v_size`; | TODO |
gchar *`v_string`; | TODO |
gpointer `v_pointer`; | TODO |

### enum GITypeTag

The type tag of a GITypeInfo.

#### Members

GI_TYPE_TAG_VOID | void |
GI_TYPE_TAG_BOOLEAN | boolean |
GI_TYPE_TAG_INT8 | 8-bit signed integer |
GI_TYPE_TAG_UINT8 | 8-bit unsigned integer |
GI_TYPE_TAG_INT16 | 16-bit signed integer |
GI_TYPE_TAG_UINT16 | 16-bit unsigned integer |
GI_TYPE_TAG_INT32 | 32-bit signed integer |
GI_TYPE_TAG_UINT32 | 32-bit unsigned integer |
GI_TYPE_TAG_INT64 | 64-bit signed integer |
GI_TYPE_TAG_UINT64 | 64-bit unsigned integer |
GI_TYPE_TAG_FLOAT | float |
GI_TYPE_TAG_DOUBLE | double floating point |
GI_TYPE_TAG_GTYPE | a GType |
GI_TYPE_TAG_UTF8 | a UTF-8 encoded string |
GI_TYPE_TAG_FILENAME | a filename, encoded in the same encoding as the native filesystem is using. |
GI_TYPE_TAG_ARRAY | an array |
GI_TYPE_TAG_INTERFACE | an extended interface object |
GI_TYPE_TAG_GLIST | a GList |
GI_TYPE_TAG_GSLIST | a GSList |
GI_TYPE_TAG_GHASH | a GHashTable |
GI_TYPE_TAG_ERROR | a GError |
GI_TYPE_TAG_UNICHAR | Unicode character |

### enum GIArrayType

The type of array in a GITypeInfo.

#### Members

GI_ARRAY_TYPE_C | a C array, char[] for instance |
GI_ARRAY_TYPE_ARRAY | a `GArray` array |
GI_ARRAY_TYPE_PTR_ARRAY | a GPtrArray array |
GI_ARRAY_TYPE_BYTE_ARRAY | a GByteArray array |

### GI_TYPE_TAG_N_TYPES

    #define GI_TYPE_TAG_N_TYPES (GI_TYPE_TAG_UNICHAR+1)

TODO