[HB] More cleanup

This commit is contained in:
Behdad Esfahbod 2009-05-25 03:10:06 -04:00
parent 20cc86b359
commit cc6c644ff2
2 changed files with 7 additions and 6 deletions

View File

@ -82,7 +82,7 @@ struct LangSys
inline const unsigned int get_feature_index (unsigned int i) const { return featureIndex[i]; }
inline unsigned int get_feature_count (void) const { return featureIndex.len; }
inline const bool has_required_feature (void) const { return reqFeatureIndex != 0xffff; }
inline bool has_required_feature (void) const { return reqFeatureIndex != 0xffff; }
inline int get_required_feature_index (void) const
{
if (reqFeatureIndex == 0xffff)
@ -114,7 +114,7 @@ struct Script
// LONGTERMTODO bsearch
DEFINE_TAG_FIND_INTERFACE (LangSys, lang_sys); /* find_lang_sys_index (), get_lang_sys_by_tag (tag) */
inline const bool has_default_lang_sys (void) const { return defaultLangSys != 0; }
inline bool has_default_lang_sys (void) const { return defaultLangSys != 0; }
inline const LangSys& get_default_lang_sys (void) const { return this+defaultLangSys; }
private:

View File

@ -108,17 +108,17 @@
inline const Tag& get_##name##_tag (unsigned int i) const { return (this+name##List).get_tag (i); }
#define DEFINE_TAG_FIND_INTERFACE(Type, name) \
inline bool find_##name##_index (hb_tag_t tag, unsigned int *name##_index) const { \
inline bool find_##name##_index (hb_tag_t tag, unsigned int *index) const { \
const Tag t = tag; \
for (unsigned int i = 0; i < get_##name##_count (); i++) \
{ \
if (t == get_##name##_tag (i)) \
{ \
if (name##_index) *name##_index = i; \
if (index) *index = i; \
return true; \
} \
} \
if (name##_index) *name##_index = NO_INDEX; \
if (index) *index = NO_INDEX; \
return false; \
} \
inline const Type& get_##name##_by_tag (hb_tag_t tag) const \
@ -150,10 +150,11 @@ struct Null
/* Specializaiton for arbitrary-content arbitrary-sized Null objects. */
#define DEFINE_NULL_DATA(Type, size, data) \
static const char _Null##Type[size] = data; \
template <> \
struct Null <Type> \
{ \
static inline const Type &get () { static const char bytes[size] = data; return (const Type&) *bytes; /* XXX */ } \
static inline const Type &get () { return (const Type&) *_Null##Type; } \
}
/* Accessor macro. */