## EIntervalTree

EIntervalTree

## Synopsis

    struct              EIntervalTree;
    EIntervalTree *     e_intervaltree_new                  (void);
    gboolean            e_intervaltree_insert               (EIntervalTree *tree,
                                                             time_t start,
                                                             time_t end,
                                                             ECalComponent *comp);
    gboolean            e_intervaltree_remove               (EIntervalTree *tree,
                                                             const gchar *uid,
                                                             const gchar *rid);
    void                e_intervaltree_destroy              (EIntervalTree *tree);
    GList *             e_intervaltree_search               (EIntervalTree *tree,
                                                             time_t start,
                                                             time_t end);

## Description

## Details

### struct EIntervalTree

    struct EIntervalTree {
    	GObject parent;
    	EIntervalTreePrivate *priv;
    };

Since 2.32

### e_intervaltree_new ()

    EIntervalTree *     e_intervaltree_new                  (void);

Creates a new EIntervalTree.

Returns : | The newly-created EIntervalTree.

Since 2.32

### e_intervaltree_insert ()

    gboolean            e_intervaltree_insert               (EIntervalTree *tree,
                                                             time_t start,
                                                             time_t end,
                                                             ECalComponent *comp);

`tree` : | interval tree
`start` : | start of the interval
`end` : | end of the interval
`comp` : | Component

Since 2.32

### e_intervaltree_remove ()

    gboolean            e_intervaltree_remove               (EIntervalTree *tree,
                                                             const gchar *uid,
                                                             const gchar *rid);

`tree` : | an EIntervalTree

Since 2.32

### e_intervaltree_destroy ()

    void                e_intervaltree_destroy              (EIntervalTree *tree);

`tree` : | an EIntervalTree

Since 2.32

### e_intervaltree_search ()

    GList *             e_intervaltree_search               (EIntervalTree *tree,
                                                             time_t start,
                                                             time_t end);

`tree` : | interval tree
`start` : | start of the interval
`end` : | end of the interval
Returns : | list of nodes that overlaps given interval or `NULL`.

Since 2.32