#ifndef __GDAM_INTERVAL_MAP_H_
#define __GDAM_INTERVAL_MAP_H_

typedef struct _GdamIntervalMap GdamIntervalMap;

#include <glib.h>
typedef struct _GdamIntervalMapPost GdamIntervalMapPost;
struct _GdamIntervalMapPost
{
  int value;
  GSList *objects;
  GdamIntervalMapPost *next;
  GdamIntervalMapPost *prev;
};


GdamIntervalMap     *gdam_interval_map_new      ();
void                 gdam_interval_map_add      (GdamIntervalMap *map,
                                                 int              min_value,
                                                 int              max_value,
						 gpointer         object);
GdamIntervalMapPost *gdam_interval_map_lookup   (GdamIntervalMap *map,
                                                 int              value);
GdamIntervalMapPost *gdam_interval_map_first    (GdamIntervalMap *map);
void                 gdam_interval_map_clear    (GdamIntervalMap *map);
void                 gdam_interval_map_destroy  (GdamIntervalMap *map);

#endif
