## CamelIndex CamelIndex |

## Synopsis

                        CamelIndex;
    gchar *             (*CamelIndexNorm)                   (CamelIndex *index,
                                                             const gchar *word,
                                                             gpointer data);
                        CamelIndexCursor;
    CamelIndexCursor *  camel_index_cursor_new              (CamelIndex *index,
                                                             const gchar *name);
    const gchar *       camel_index_cursor_next             (CamelIndexCursor *idc);
    void                camel_index_cursor_reset            (CamelIndexCursor *idc);
                        CamelIndexName;
    CamelIndexName *    camel_index_name_new                (CamelIndex *index,
                                                             const gchar *name);
    void                camel_index_name_add_word           (CamelIndexName *name,
                                                             const gchar *word);
    gsize               camel_index_name_add_buffer         (CamelIndexName *name,
                                                             const gchar *buffer,
                                                             gsize len);
    #define             CAMEL_INDEX_DELETED
    CamelIndex *        camel_index_new                     (const gchar *path,
                                                             gint flags);
    void                camel_index_construct               (CamelIndex *index,
                                                             const gchar *path,
                                                             gint flags);
    gint                camel_index_rename                  (CamelIndex *index,
                                                             const gchar *path);
    void                camel_index_set_normalize           (CamelIndex *index,
                                                             CamelIndexNorm func,
                                                             gpointer data);
    gint                camel_index_sync                    (CamelIndex *index);
    gint                camel_index_compress                (CamelIndex *index);
    gint                camel_index_delete                  (CamelIndex *index);
    gint                camel_index_has_name                (CamelIndex *index,
                                                             const gchar *name);
    CamelIndexName *    camel_index_add_name                (CamelIndex *index,
                                                             const gchar *name);
    gint                camel_index_write_name              (CamelIndex *index,
                                                             CamelIndexName *idn);
    CamelIndexCursor *  camel_index_find_name               (CamelIndex *index,
                                                             const gchar *name);
    void                camel_index_delete_name             (CamelIndex *index,
                                                             const gchar *name);
    CamelIndexCursor *  camel_index_find                    (CamelIndex *index,
                                                             const gchar *word);
    CamelIndexCursor *  camel_index_words                   (CamelIndex *index);
    CamelIndexCursor *  camel_index_names                   (CamelIndex *index);

## Object Hierarchy

      GObject
       +----CamelObject
             +----CamelIndex
                   +----CamelTextIndex

      GObject
       +----CamelObject
             +----CamelIndexCursor
                   +----CamelTextIndexCursor
                   +----CamelTextIndexKeyCursor

      GObject
       +----CamelObject
             +----CamelIndexName
                   +----CamelTextIndexName

## Description

## Details

### CamelIndex

    typedef struct _CamelIndex CamelIndex;

### CamelIndexNorm ()

    gchar *             (*CamelIndexNorm)                   (CamelIndex *index,
                                                             const gchar *word,
                                                             gpointer data);

`index` : |
`word` : |
`data` : |
Returns : |

### CamelIndexCursor

    typedef struct _CamelIndexCursor CamelIndexCursor;

### camel_index_cursor_new ()

    CamelIndexCursor *  camel_index_cursor_new              (CamelIndex *index,
                                                             const gchar *name);

`index` : |
`name` : |
Returns : |

### camel_index_cursor_next ()

    const gchar *       camel_index_cursor_next             (CamelIndexCursor *idc);

`idc` : |
Returns : |

### camel_index_cursor_reset ()

    void                camel_index_cursor_reset            (CamelIndexCursor *idc);

`idc` : |

### CamelIndexName

    typedef struct _CamelIndexName CamelIndexName;

### camel_index_name_new ()

    CamelIndexName *    camel_index_name_new                (CamelIndex *index,
                                                             const gchar *name);

`index` : |
`name` : |
Returns : |

### camel_index_name_add_word ()

    void                camel_index_name_add_word           (CamelIndexName *name,
                                                             const gchar *word);

`name` : |
`word` : |

### camel_index_name_add_buffer ()

    gsize               camel_index_name_add_buffer         (CamelIndexName *name,
                                                             const gchar *buffer,
                                                             gsize len);

`name` : |
`buffer` : |
`len` : |
Returns : |

### CAMEL_INDEX_DELETED

    #define CAMEL_INDEX_DELETED (1<<0)

### camel_index_new ()

    CamelIndex *        camel_index_new                     (const gchar *path,
                                                             gint flags);

`path` : |
`flags` : |
Returns : |

### camel_index_construct ()

    void                camel_index_construct               (CamelIndex *index,
                                                             const gchar *path,
                                                             gint flags);

`index` : |
`path` : |
`flags` : |

### camel_index_rename ()

    gint                camel_index_rename                  (CamelIndex *index,
                                                             const gchar *path);

`index` : |
`path` : |
Returns : |

### camel_index_set_normalize ()

    void                camel_index_set_normalize           (CamelIndex *index,
                                                             CamelIndexNorm func,
                                                             gpointer data);

`index` : |
`func` : | normalization function
`data` : | user data for `func`

Since 2.32

### camel_index_sync ()

    gint                camel_index_sync                    (CamelIndex *index);

`index` : |
Returns : |

### camel_index_compress ()

    gint                camel_index_compress                (CamelIndex *index);

`index` : |
Returns : |

### camel_index_delete ()

    gint                camel_index_delete                  (CamelIndex *index);

`index` : |
Returns : |

### camel_index_has_name ()

    gint                camel_index_has_name                (CamelIndex *index,
                                                             const gchar *name);

`index` : |
`name` : |
Returns : |

### camel_index_add_name ()

    CamelIndexName *    camel_index_add_name                (CamelIndex *index,
                                                             const gchar *name);

`index` : |
`name` : |
Returns : |

### camel_index_write_name ()

    gint                camel_index_write_name              (CamelIndex *index,
                                                             CamelIndexName *idn);

`index` : |
`idn` : |
Returns : |

### camel_index_find_name ()

    CamelIndexCursor *  camel_index_find_name               (CamelIndex *index,
                                                             const gchar *name);

`index` : |
`name` : |
Returns : |

### camel_index_delete_name ()

    void                camel_index_delete_name             (CamelIndex *index,
                                                             const gchar *name);

`index` : |
`name` : |

### camel_index_find ()

    CamelIndexCursor *  camel_index_find                    (CamelIndex *index,
                                                             const gchar *word);

`index` : |
`word` : |
Returns : |

### camel_index_words ()

    CamelIndexCursor *  camel_index_words                   (CamelIndex *index);

`index` : |
Returns : |

### camel_index_names ()

    CamelIndexCursor *  camel_index_names                   (CamelIndex *index);

`index` : |
Returns : |