37 #ifndef COMMON_CONFIG_LOOKUP_H 38 #define COMMON_CONFIG_LOOKUP_H 45 typedef lumiera_config_lookup* LumieraConfigLookup;
48 typedef lumiera_config_lookupentry* LumieraConfigLookupentry;
90 LumieraConfigLookupentry
102 LumieraConfigLookupentry
125 LumieraConfigLookupentry
170 LumieraConfigLookupentry
171 lumiera_config_lookupentry_init (LumieraConfigLookupentry
self,
const char* key);
173 LumieraConfigLookupentry
174 lumiera_config_lookupentry_new (
const char* key);
177 LumieraConfigLookupentry
178 lumiera_config_lookupentry_destroy (LumieraConfigLookupentry
self);
182 lumiera_config_lookupentry_delete (LumieraConfigLookupentry
self);
LumieraConfigLookup lumiera_config_lookup_init(LumieraConfigLookup self)
Initialise a lookup structure.
Draft for a configuration system (2008).
llist configitems
stack of all configitems stored under this key
LumieraConfigLookupentry lumiera_config_lookup_insert(LumieraConfigLookup self, LumieraConfigitem item)
Add a config item to a lookup structure.
#define LUMIERA_ERROR_DECLARE(err)
Forward declare an error constant.
Lumiera error handling (C interface).
Just contains a hashtable to give sufficient abstraction.
LumieraConfigLookupentry lumiera_config_lookup_find(LumieraConfigLookup self, const char *key)
Find a hashtable entry in the lookup structure.
LumieraConfigitem lumiera_config_lookup_item_find(LumieraConfigLookup self, const char *key)
Find a the topmost config item stored to a given key.
Probabilistic splay tree.
LumieraConfigLookup lumiera_config_lookup_destroy(LumieraConfigLookup self)
Destroy a lookup structure.
LumieraConfigLookupentry lumiera_config_lookup_insert_default(LumieraConfigLookup self, LumieraConfigitem item)
LumieraConfigitem lumiera_config_lookup_item_tail_find(LumieraConfigLookup self, const char *key)
Find a the bottom most config item stored to a given key.
Intrusive cyclic double linked list There is only one node type which contains a forward and a backwa...
char * full_key
we store a copy of the full key here configentry keys are complete as expected section keys are the p...
LumieraConfigitem lumiera_config_lookup_remove(LumieraConfigLookup self, LumieraConfigitem item)
Remove a config item from a lookup structure.