## FoHashTable FoHashTable |

## Synopsis

                        FoHashTable;
                        FoHashTableClass;
    #define             FO_HASH_TABLE_ERROR
    GQuark              fo_hash_table_error_quark           (void);
    FoHashTable*        fo_hash_table_new                   (void);
    void                fo_hash_table_insert                (FoHashTable *fo_hash_table,
                                                             FoObject *key,
                                                             FoObject *value,
                                                             GError **error);
    void                fo_hash_table_replace               (FoHashTable *fo_hash_table,
                                                             FoObject *key,
                                                             FoObject *value,
                                                             GError **error);
    gboolean            fo_hash_table_remove                (FoHashTable *fo_hash_table,
                                                             FoObject *key,
                                                             GError **error);
    FoObject*           fo_hash_table_lookup                (FoHashTable *fo_hash_table,
                                                             FoObject *key,
                                                             GError **error);
    guint               fo_hash_table_size                  (FoHashTable *fo_hash_table);

## Object Hierarchy

      GObject
       +----FoObject
             +----FoHashTable

## Description

## Details

### FoHashTable

    typedef struct _FoHashTable FoHashTable;

### FoHashTableClass

    typedef struct _FoHashTableClass FoHashTableClass;

### FO_HASH_TABLE_ERROR

    #define FO_HASH_TABLE_ERROR fo_hash_table_error_quark ()

### fo_hash_table_error_quark ()

    GQuark              fo_hash_table_error_quark           (void);

Get the error quark for FoHashTable.

If the quark does not yet exist, create it.

Returns : | Quark associated with FoHashTable errors.

### fo_hash_table_new ()

    FoHashTable*        fo_hash_table_new                   (void);

Creates a new FoHashTable initialized to default value.

Returns : | the new FoHashTable

### fo_hash_table_insert ()

    void                fo_hash_table_insert                (FoHashTable *fo_hash_table,
                                                             FoObject *key,
                                                             FoObject *value,
                                                             GError **error);

Inserts `value` as the value corresponding to `key` in `fo_hash_table`.

`fo_hash_table` : | FoHashTable in which to insert.
`key` : | Key at which to insert.
`value` : | Value to insert.
`error` : | GError with information about error that occurred.

### fo_hash_table_replace ()

    void                fo_hash_table_replace               (FoHashTable *fo_hash_table,
                                                             FoObject *key,
                                                             FoObject *value,
                                                             GError **error);

Replaces the key-value pair in `fo_hash_table` that has a key matching `key`.

`fo_hash_table` : | FoHashTable in which to replace.
`key` : | Key of key-value pair to replace.
`value` : | New value.
`error` : | GError with information about error that occurred.

### fo_hash_table_remove ()

    gboolean            fo_hash_table_remove                (FoHashTable *fo_hash_table,
                                                             FoObject *key,
                                                             GError **error);

Removes the key-value pair with key matching `key` from `fo_hash_table`.

`fo_hash_table` : | FoHashTable from which to remove a key-value pair.
`key` : | Key of pair to remove.
`error` : | GError with information about error that occurred.
Returns : | `TRUE` is successful.

### fo_hash_table_lookup ()

    FoObject*           fo_hash_table_lookup                (FoHashTable *fo_hash_table,
                                                             FoObject *key,
                                                             GError **error);

Gets the value associated with `key` in `fo_hash_table`.

`fo_hash_table` : | FoHashTable in which to look.
`key` : | Key value against which to compare.
`error` : | GError with information about error that occurred.
Returns : | The value, or `NULL` if no matching key.

### fo_hash_table_size ()

    guint               fo_hash_table_size                  (FoHashTable *fo_hash_table);

Gets the number of key-value pairs in `fo_hash_table`.

`fo_hash_table` : | FoHashTable for which to get size.
Returns : | Number of key-value pairs.