diff options
Diffstat (limited to 'id_table.h')
| -rw-r--r-- | id_table.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/id_table.h b/id_table.h index 0c8cd343ee..c4333bea98 100644 --- a/id_table.h +++ b/id_table.h @@ -4,7 +4,14 @@ #include <stddef.h> #include "ruby/ruby.h" -struct rb_id_table; +struct rb_id_item; + +struct rb_id_table { + int capa; + int num; + int used; + struct rb_id_item *items; +}; /* compatible with ST_* */ enum rb_id_table_iterator_result { @@ -47,6 +54,16 @@ int rb_managed_id_table_delete(VALUE table, ID id); extern const rb_data_type_t rb_managed_id_table_type; +VALUE rb_marked_id_table_new(size_t capa); +int rb_marked_id_table_insert(VALUE table, ID id, VALUE val); +VALUE rb_marked_id_table_dup(VALUE table); + +// alisases +#define rb_marked_id_table_size rb_managed_id_table_size +#define rb_marked_id_table_lookup rb_managed_id_table_lookup +#define rb_marked_id_table_foreach rb_managed_id_table_foreach +#define rb_marked_id_table_foreach_values rb_managed_id_table_foreach_values + RUBY_SYMBOL_EXPORT_BEGIN size_t rb_id_table_size(const struct rb_id_table *tbl); RUBY_SYMBOL_EXPORT_END |
