### Struct

# Camel StoreSearchIndex

since: 3.58

#### Description [src]

    struct CamelStoreSearchIndex {
      /* No available fields */
    }

A structure with search result indexes, holding references to matching records using the `CamelStore`, folder ID and message UID triple. Items can be added to the index with `camel_store_search_index_add()` and checked its existence with camel_store_search_index_contains().

Available since: 3.58

#### Constructors

###### camel_store_search_index_new

Creates a new `CamelStoreSearchIndex`. Free it with camel_store_search_index_unref(), when no longer needed.

since: 3.58

#### Instance methods

###### camel_store_search_index_add

Adds a message identified by the `store`, `folder_id` and `uid` into the index `self`. It can be asked whether the `self` contains the message with camel_store_search_index_contains(). Note the `store` is not referenced, it’s compared pointer-wise. See `camel_store_search_index_contains()` for more information.

since: 3.58

###### camel_store_search_index_apply_match_threads

Constructs the `inout_threads` from the `items` according to the `flags` and then changes the content of the `self` to contain only references to messages which satisfy the `kind`. When there are no `items` or the `kind` is `CAMEL_MATCH_THREADS_KIND_NONE`, the function does nothing.

since: 3.58

###### camel_store_search_index_contains

Checks whether a message identified by the `store`, `folder_id` and `uid` is included in the index `self`.

since: 3.58

###### camel_store_search_index_move_from_existing

Moves all items from the `src` index into the `self`. The `self` and the `src` can be the same, in which case the function does nothing. At the end of the function the `src` will contain no items, but it is not freed.

since: 3.58

###### camel_store_search_index_ref

Adds a reference on the `self`. Call a pair `camel_store_search_index_unref()` to remove the added reference.

since: 3.58

###### camel_store_search_index_remove

Removes a message identified by the `store`, `folder_id` and `uid` from the index `self`. Note the `store` is not referenced, it’s compared pointer-wise. See `camel_store_search_index_add()` for more information.

since: 3.58

###### camel_store_search_index_unref

Removes one reference on the `self`. When the reference count drops to zero, the `self` is freed.

since: 3.58