## gimpmemsize

gimpmemsize — Functions to (de)serialize a given memory size.

## Synopsis

    gchar*              gimp_memsize_serialize              (guint64 memsize);
    gboolean            gimp_memsize_deserialize            (const gchar *string,
                                                             guint64 *memsize);
    gchar*              gimp_memsize_to_string              (guint64 memsize);
    #define             GIMP_TYPE_MEMSIZE
    #define             GIMP_TYPE_PARAM_MEMSIZE
    #define             GIMP_IS_PARAM_SPEC_MEMSIZE          (pspec)
    GParamSpec*         gimp_param_spec_memsize             (const gchar *name,
                                                             const gchar *nick,
                                                             const gchar *blurb,
                                                             guint64 minimum,
                                                             guint64 maximum,
                                                             guint64 default_value,
                                                             GParamFlags flags);
    #define             GIMP_VALUE_HOLDS_MEMSIZE            (value)

## Description

Functions to (de)serialize a given memory size.

## Details

### gimp_memsize_serialize ()

    gchar*              gimp_memsize_serialize              (guint64 memsize);

Creates a string representation of a given memory size. This string can be parsed by `gimp_memsize_deserialize()` and can thus be used in config files. It should not be displayed to the user. If you need a nice human-readable string please use `gimp_memsize_to_string()`.

`memsize` : | memory size in bytes
Returns : | A newly allocated string representation of `memsize`.

Since GIMP 2.2

### gimp_memsize_deserialize ()

    gboolean            gimp_memsize_deserialize            (const gchar *string,
                                                             guint64 *memsize);

Parses a string representation of a memory size as returned by `gimp_memsize_serialize()`.

`string` : | a string as returned by `gimp_memsize_serialize()`
`memsize` : | return location for memory size in bytes
Returns : | `TRUE` if the `string` was successfully parsed and `memsize` has been set, `FALSE` otherwise.

Since GIMP 2.2

### gimp_memsize_to_string ()

    gchar*              gimp_memsize_to_string              (guint64 memsize);

This function returns a human readable, translated representation of the passed `memsize`. Large values are displayed using a reasonable memsize unit, e.g.: "345" becomes "345 Bytes", "4500" becomes "4.4 KB" and so on.

`memsize` : | A memory size in bytes.
Returns : | A newly allocated human-readable, translated string.

### GIMP_TYPE_MEMSIZE

    #define GIMP_TYPE_MEMSIZE               (gimp_memsize_get_type ())

GIMP_TYPE_MEMSIZE is a GType derived from G_TYPE_UINT64.

### GIMP_TYPE_PARAM_MEMSIZE

    #define GIMP_TYPE_PARAM_MEMSIZE           (gimp_param_memsize_get_type ())

### GIMP_IS_PARAM_SPEC_MEMSIZE()

    #define GIMP_IS_PARAM_SPEC_MEMSIZE(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GIMP_TYPE_PARAM_MEMSIZE))

`pspec` : |

### gimp_param_spec_memsize ()

    GParamSpec*         gimp_param_spec_memsize             (const gchar *name,
                                                             const gchar *nick,
                                                             const gchar *blurb,
                                                             guint64 minimum,
                                                             guint64 maximum,
                                                             guint64 default_value,
                                                             GParamFlags flags);

Creates a param spec to hold a memory size value. See `g_param_spec_internal()` for more information.

`name` : | Canonical name of the param
`nick` : | Nickname of the param
`blurb` : | Brief desciption of param.
`minimum` : | Smallest allowed value of the parameter.
`maximum` : | Largest allowed value of the parameter.
`default_value` : | Value to use if none is assigned.
`flags` : | a combination of GParamFlags
Returns : | a newly allocated GParamSpec instance

Since GIMP 2.4

### GIMP_VALUE_HOLDS_MEMSIZE()

    #define GIMP_VALUE_HOLDS_MEMSIZE(value) (G_TYPE_CHECK_VALUE_TYPE ((value), GIMP_TYPE_MEMSIZE))

`value` : |