### Class

# GIRepository UnionInfo

since: 2.80

#### Description

    final class GIRepository.UnionInfo : GObject.TypeInstance
    {
      /* No available fields */
    }

`GIUnionInfo` represents a union type.

A union has methods and fields. Unions can optionally have a discriminator, which is a field deciding what type of real union fields is valid for specified instance.

Available since: 2.80

#### Ancestors

- GIRegisteredTypeInfo
- GIBaseInfo

#### Instance methods

###### gi_union_info_find_method

Obtain the type information for the method named `name`.

since: 2.80

###### gi_union_info_get_alignment

Obtain the required alignment of the union.

since: 2.80

###### gi_union_info_get_copy_function_name

Retrieves the name of the copy function for `info`, if any is set.

since: 2.80

###### gi_union_info_get_discriminator

Obtain the discriminator value assigned for n-th union field, i.e. the n-th union field is the active one if the discriminator contains this constant.

since: 2.80

###### gi_union_info_get_discriminator_offset

Obtain the offset of the discriminator field within the structure.

since: 2.80

###### gi_union_info_get_discriminator_type

Obtain the type information of the union discriminator.

since: 2.80

###### gi_union_info_get_field

Obtain the type information for the field with the specified index.

since: 2.80

###### gi_union_info_get_free_function_name

Retrieves the name of the free function for `info`, if any is set.

since: 2.80

###### gi_union_info_get_method

Obtain the type information for the method with the specified index.

since: 2.80

###### gi_union_info_get_n_fields

Obtain the number of fields this union has.

since: 2.80

###### gi_union_info_get_n_methods

Obtain the number of methods this union has.

since: 2.80

###### gi_union_info_get_size

Obtain the total size of the union.

since: 2.80

###### gi_union_info_is_discriminated

Return `TRUE` if this union contains a discriminator field.

since: 2.80

##### Methods inherited from GIRegisteredTypeInfo (4)

###### gi_registered_type_info_get_g_type

Obtain the `GType` for this registered type.

since: 2.80

###### gi_registered_type_info_get_type_init_function_name

Obtain the type init function for `info`.

since: 2.80

###### gi_registered_type_info_get_type_name

Obtain the type name of the struct within the GObject type system.

since: 2.80

###### gi_registered_type_info_is_boxed

Get whether the registered type is a boxed type.

since: 2.80

##### Methods inherited from GIBaseInfo (11)

###### gi_base_info_clear

Clears memory allocated internally by a stack-allocated `GIBaseInfo`.

since: 2.80

###### gi_base_info_equal

Compare two `GIBaseInfo`s.

since: 2.80

###### gi_base_info_get_attribute

Retrieve an arbitrary attribute associated with this node.

since: 2.80

###### gi_base_info_get_container

Obtain the container of the `info`.

since: 2.80

###### gi_base_info_get_name

Obtain the name of the `info`.

since: 2.80

###### gi_base_info_get_namespace

Obtain the namespace of `info`.

since: 2.80

###### gi_base_info_get_typelib

Obtain the typelib this `info` belongs to.

since: 2.80

###### gi_base_info_is_deprecated

Obtain whether the `info` is represents a metadata which is deprecated.

since: 2.80

###### gi_base_info_iterate_attributes

Iterate over all attributes associated with this node.

since: 2.80

###### gi_base_info_ref

Increases the reference count of `info`.

since: 2.80

###### gi_base_info_unref

Decreases the reference count of `info`. When its reference count drops to 0, the info is freed.

since: 2.80