![]() |
![]() |
![]() |
Evolution-Data-Server Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
#include <libedata-cal/libedata-cal.h> #define E_INTERVALTREE_DEBUG struct EIntervalTree; struct EIntervalTreeClass; 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
); GList * e_intervaltree_search (EIntervalTree *tree
,time_t start
,time_t end
); void e_intervaltree_destroy (EIntervalTree *tree
); void e_intervaltree_dump (EIntervalTree *tree
);
Implementation of the interval node as described in Introduction to Algorithms book by Cormen et al, chapter 14.3.
Basically, the interval tree is the red-black tree, the node key is the start of the interval.
struct EIntervalTree { };
Contains only private data that should be read and manipulated using the functions below.
Since 2.32
struct EIntervalTreeClass { };
Class structure for the EIntervalTree class.
Since 2.32
EIntervalTree * e_intervaltree_new (void
);
Creates a new EIntervalTree.
Returns : |
The newly-created EIntervalTree. |
Since 2.32
gboolean e_intervaltree_insert (EIntervalTree *tree
,time_t start
,time_t end
,ECalComponent *comp
);
|
interval tree |
|
start of the interval |
|
end of the interval |
|
Component |
Since 2.32
gboolean e_intervaltree_remove (EIntervalTree *tree
,const gchar *uid
,const gchar *rid
);
|
an EIntervalTree |
|
the uid of the component to remove |
|
the recurrance id of the component to remove |
Since 2.32
GList * e_intervaltree_search (EIntervalTree *tree
,time_t start
,time_t end
);
|
interval tree |
|
start of the interval |
|
end of the interval |
Returns : |
list of nodes that overlaps given interval or NULL . |
Since 2.32
void e_intervaltree_destroy (EIntervalTree *tree
);
|
an EIntervalTree |
Since 2.32