00001
00002 #ifndef CMAID_MAP_FUNCDEF_H
00003 #define CMAID_MAP_FUNCDEF_H
00004
00010 #define CMAID_MAP_FUNC(c) ((const Cmaid_Map_Interface *)((c)->interface))
00011
00024 CMAID_INLINE void *
00025 cmaid_map_set(Cmaid_Map *m, void *key, void *value)
00026 {
00027 return CMAID_MAP_FUNC(m)->set(m, key, value);
00028 }
00029
00039 CMAID_INLINE void
00040 cmaid_map_remove(Cmaid_Map *m, const void *key)
00041 {
00042 CMAID_MAP_FUNC(m)->remove(m, key);
00043 }
00044
00053 CMAID_INLINE void *
00054 cmaid_map_get(Cmaid_Map *m, const void *key)
00055 {
00056 return CMAID_SET_FUNC(m)->get(m, key);
00057 }
00058
00070 CMAID_INLINE void
00071 cmaid_map_value_iter_attach(Cmaid_Map *m, Cmaid_Iter *iter)
00072 {
00073 CMAID_MAP_FUNC(m)->value_iter_attach(m, iter);
00074 }
00075
00076 #endif