Move code around

This commit is contained in:
Behdad Esfahbod 2011-05-05 14:47:53 -04:00
parent 448ea9bf63
commit 21d2c92fdf
1 changed files with 16 additions and 16 deletions

View File

@ -106,20 +106,20 @@ typedef struct {
/* XXX make this thread-safe, somehow! */ /* XXX make this thread-safe, somehow! */
struct hb_user_data_t { struct hb_user_data_array_t {
struct hb_user_data_item_t {
hb_user_data_key_t *key; hb_user_data_key_t *key;
void *data; void *data;
hb_destroy_func_t destroy; hb_destroy_func_t destroy;
inline bool operator == (hb_user_data_key_t *other_key) const { return key == other_key; } inline bool operator == (hb_user_data_key_t *other_key) const { return key == other_key; }
inline bool operator == (hb_user_data_t &other) const { return key == other.key; } inline bool operator == (hb_user_data_item_t &other) const { return key == other.key; }
void finish (void) { if (destroy) destroy (data); } void finish (void) { if (destroy) destroy (data); }
}; };
struct hb_user_data_array_t { hb_set_t<hb_user_data_item_t> items;
hb_set_t<hb_user_data_t> items;
inline bool set (hb_user_data_key_t *key, inline bool set (hb_user_data_key_t *key,
void * data, void * data,
@ -131,13 +131,13 @@ struct hb_user_data_array_t {
items.remove (key); items.remove (key);
return true; return true;
} }
hb_user_data_t user_data = {key, data, destroy}; hb_user_data_item_t item = {key, data, destroy};
return items.insert (user_data); return items.insert (item);
} }
inline void *get (hb_user_data_key_t *key) { inline void *get (hb_user_data_key_t *key) {
hb_user_data_t *user_data = items.get (key); hb_user_data_item_t *item = items.get (key);
return user_data ? user_data->data : NULL; return item ? item->data : NULL;
} }
void finish (void) { items.finish (); } void finish (void) { items.finish (); }