Shrink code

This commit is contained in:
Behdad Esfahbod 2011-05-05 15:28:37 -04:00
parent b8d6183ebc
commit 218e67b9ee
2 changed files with 30 additions and 17 deletions

View File

@ -29,6 +29,7 @@
#include "hb-private.hh"
#include "hb-mutex-private.hh"
#include "hb-object-private.hh"
HB_BEGIN_DECLS
@ -261,4 +262,29 @@ hb_script_get_horizontal_direction (hb_script_t script)
}
/* hb_user_data_array_t */
bool
hb_user_data_array_t::set (hb_user_data_key_t *key,
void * data,
hb_destroy_func_t destroy)
{
if (!key)
return false;
if (!data && !destroy) {
items.remove (key);
return true;
}
hb_user_data_item_t item = {key, data, destroy};
return !!items.insert (item);
}
void *
hb_user_data_array_t::get (hb_user_data_key_t *key)
{
hb_user_data_item_t *item = items.find (key);
return item ? item->data : NULL;
}
HB_END_DECLS

View File

@ -121,24 +121,11 @@ struct hb_user_data_array_t {
hb_set_t<hb_user_data_item_t> items;
inline bool set (hb_user_data_key_t *key,
void * data,
hb_destroy_func_t destroy)
{
if (!key)
return false;
if (!data && !destroy) {
items.remove (key);
return true;
}
hb_user_data_item_t item = {key, data, destroy};
return !!items.insert (item);
}
HB_INTERNAL bool set (hb_user_data_key_t *key,
void * data,
hb_destroy_func_t destroy);
inline void *get (hb_user_data_key_t *key) {
hb_user_data_item_t *item = items.find (key);
return item ? item->data : NULL;
}
HB_INTERNAL void *get (hb_user_data_key_t *key);
void finish (void) { items.finish (); }
};