From 8cc5f74ffc4097173ae69b0098524a5faecaee7e Mon Sep 17 00:00:00 2001 From: 卜部昌平 Date: Mon, 17 Aug 2020 11:54:12 +0900 Subject: RHASH_EMPTY_P: convert into an inline function --- internal.h | 1 + internal/hash.h | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/internal.h b/internal.h index d033bc5df3..c3b3a799b1 100644 --- a/internal.h +++ b/internal.h @@ -47,6 +47,7 @@ #undef RHASH_IFNONE #undef RHASH_SIZE #undef RHASH_TBL +#undef RHASH_EMPTY_P /* internal/object.h */ #undef ROBJECT_IV_INDEX_TBL diff --git a/internal/hash.h b/internal/hash.h index 73d71deaa2..b0c23c2b2e 100644 --- a/internal/hash.h +++ b/internal/hash.h @@ -64,6 +64,10 @@ struct RHash { # undef RHASH_SIZE #endif +#ifdef RHASH_EMPTY_P +# undef RHASH_EMPTY_P +#endif + /* hash.c */ void rb_hash_st_table_set(VALUE hash, st_table *st); VALUE rb_hash_default_value(VALUE hash, VALUE key); @@ -82,6 +86,7 @@ int rb_hash_stlike_update(VALUE hash, st_data_t key, st_update_callback_func *fu static inline unsigned RHASH_AR_TABLE_SIZE_RAW(VALUE h); static inline VALUE RHASH_IFNONE(VALUE h); static inline size_t RHASH_SIZE(VALUE h); +static inline bool RHASH_EMPTY_P(VALUE h); static inline bool RHASH_AR_TABLE_P(VALUE h); static inline bool RHASH_ST_TABLE_P(VALUE h); static inline struct ar_table_struct *RHASH_AR_TABLE(VALUE h); @@ -173,6 +178,12 @@ RHASH_SIZE(VALUE h) } } +static inline bool +RHASH_EMPTY_P(VALUE h) +{ + return RHASH_SIZE(h) == 0; +} + static inline bool RHASH_ST_TABLE_P(VALUE h) { -- cgit v1.2.3