## GEnumとGFlags用の検証ユーティリティ GEnumとGFlags用の検証ユーティリティ — GEnumまたはGFlagsに関する検証をもっと簡単に書くためのユーティリティ。 |

## 概要

    #define             GCUT_ENUM_ERROR
    enum                GCutEnumError;
    GQuark              gcut_enum_error_quark               (void);
    gchar *             gcut_enum_inspect                   (GType enum_type,
                                                             gint enum_value);
    gint                gcut_enum_parse                     (GType enum_type,
                                                             const gchar *enum_value,
                                                             GError **error);
    guint               gcut_flags_get_all                  (GType flags_type,
                                                             GError **error);
    gchar *             gcut_flags_inspect                  (GType flags_type,
                                                             guint flags_value);
    guint               gcut_flags_parse                    (GType flags_type,
                                                             const gchar *flags_value,
                                                             GError **error);

## 説明

検証を書くためには等価性を検証し、期待値と実測値を表示する必要があります。

このユーティリティはGEnumまたはGFlagsに関する検証の作成を補助します。

## 詳細

### GCUT_ENUM_ERROR

    #define GCUT_ENUM_ERROR (gcut_enum_error_quark())

列挙型関連操作用のエラードメインです。このドメインのエラーはGCutEnumError列挙型のどれかです。

1.0.6から

### enum GCutEnumError

    typedef enum {
        GCUT_ENUM_ERROR_INVALID_TYPE,
        GCUT_ENUM_ERROR_INVALID_VALUE
    } GCutEnumError;

列挙型関連操作で返されるエラーコード。

`GCUT_ENUM_ERROR_INVALID_TYPE` | 不正な型。
`GCUT_ENUM_ERROR_INVALID_VALUE` | 不正な値。

1.0.6から

### gcut_enum_error_quark ()

    GQuark              gcut_enum_error_quark               (void);

### gcut_enum_inspect ()

    gchar *             gcut_enum_inspect                   (GType enum_type,
                                                             gint enum_value);

`enum_type`の値`enum_value`の詳細を返します。返された文字列が必要なくなったときは開放してください。

`enum_type` : | GEnumの型。
`enum_value` : | 詳細を示すGEnumの値。
戻り値 : | `enum_value`の詳細を示した文字列。

1.0.5から

### gcut_enum_parse ()

    gint                gcut_enum_parse                     (GType enum_type,
                                                             const gchar *enum_value,
                                                             GError **error);

`enum_value`をパースし、`enum_type`型の列挙値を返します。`enum_value`は列挙名またはニックネームでなければいけません。`enum_value`がマッチしない場合は`error`にGCutEnumErrorエラーが設定されます。

`enum_type` : | GEnumの型。
`enum_value` : | パースされる文字列。
`error` : | エラーを返すアドレスまたは`NULL`。
戻り値 : | `enum_value`に対応する`enum_type`の値。

1.0.6から

### gcut_flags_get_all ()

    guint               gcut_flags_get_all                  (GType flags_type,
                                                             GError **error);

すべてのフラグ値が有効なフラグ値を返します。

`flags_type` : | GFlagsの型。
`error` : | エラーを返すアドレスまたは`NULL`。
戻り値 : | すべてのフラグ値が有効なフラグ値。

1.0.6から

### gcut_flags_inspect ()

    gchar *             gcut_flags_inspect                  (GType flags_type,
                                                             guint flags_value);

`flags_type`の値`flags_value`の詳細を返します。返された文字列が必要なくなったときは開放してください。

`flags_type` : | GFlagsの型。
`flags_value` : | 詳細を示すGFlagsの値。
戻り値 : | `flags_value`の詳細を示した文字列。

1.0.5から

### gcut_flags_parse ()

    guint               gcut_flags_parse                    (GType flags_type,
                                                             const gchar *flags_value,
                                                             GError **error);

`flags_value`をパースし、`flags_type`型のフラグ値を返します。`flags_value`は"ニックネームまたは名前1|ニックネームまたは名前2|...|ニックネームまたは名前N"という書式でなければいけません。`flags_value`が未知のフラグを含んでいる場合は、`error`にGCutEnumErrorエラーが設定されます。

`flags_type` : | GFlagsの型。
`flags_value` : | パースされる文字列。
`error` : | エラーを返すアドレスまたは`NULL`。
戻り値 : | `flags_value`に対応する`flags_type`の値。

1.0.6から