## camel-trie

camel-trie

## Functions

CamelTrie * | camel_trie_new ()
void | camel_trie_free ()
void | camel_trie_add ()
const gchar * | camel_trie_search ()

## Types and Values

| CamelTrie

## Description

## Functions

### camel_trie_new ()

    CamelTrie *
    camel_trie_new (gboolean icase);

Creates a new CamelTrie. If `icase` is `TRUE`, then pattern matching done by the CamelTrie will be case insensitive.

#### Parameters

icase | Case sensitivity for the CamelTrie. |

#### Returns

The newly-created CamelTrie.

Since 2.24

### camel_trie_free ()

    void
    camel_trie_free (CamelTrie *trie);

Frees the memory associated with the CamelTrie `trie` .

#### Parameters

trie | The CamelTrie to free. |

Since 2.24

### camel_trie_add ()

    void
    camel_trie_add (CamelTrie *trie,
                    const gchar *pattern,
                    gint pattern_id);

Add a new pattern to the CamelTrie `trie` .

#### Parameters

trie | The CamelTrie to add a pattern to. |
pattern | The pattern to add. |
pattern_id | The id to use for the pattern. |

Since 2.24

### camel_trie_search ()

    const gchar *
    camel_trie_search (CamelTrie *trie,
                       const gchar *buffer,
                       gsize buflen,
                       gint *matched_id);

Try to match the string `buffer` with a pattern in `trie` .

#### Parameters

trie | The CamelTrie to search in. |
buffer | The string to match against a pattern in `trie` . |
buflen | The length of `buffer` . |
matched_id | An integer address to store the matched pattern id in. |

#### Returns

The matched pattern, or `NULL` if no pattern is matched.

Since 2.24

## Types and Values

### CamelTrie

    typedef struct _CamelTrie CamelTrie;

A trie data structure.

Since 2.24