#ifndef RUBY_ID_TABLE_H
#define RUBY_ID_TABLE_H 1
#include "ruby/ruby.h"
struct rb_id_table;
/* compatible with ST_* */
enum rb_id_table_iterator_result {
ID_TABLE_CONTINUE = ST_CONTINUE,
ID_TABLE_STOP = ST_STOP,
ID_TABLE_DELETE = ST_DELETE,
ID_TABLE_ITERATOR_RESULT_END
};
struct rb_id_table *rb_id_table_create(size_t size);
void rb_id_table_free(struct rb_id_table *tbl);
void rb_id_table_clear(struct rb_id_table *tbl);
size_t rb_id_table_size(const struct rb_id_table *tbl);
size_t rb_id_table_memsize(const struct rb_id_table *tbl);
int rb_id_table_insert(struct rb_id_table *tbl, ID id, VALUE val);
int rb_id_table_lookup(struct rb_id_table *tbl, ID id, VALUE *valp);
int rb_id_table_delete(struct rb_id_table *tbl, ID id);
typedef enum rb_id_table_iterator_result rb_id_table_foreach_func_t(ID id, VALUE val, void *data);
typedef enum rb_id_table_iterator_result rb_id_table_foreach_values_func_t(VALUE val, void *data);
void rb_id_table_foreach(struct rb_id_table *tbl, rb_id_table_foreach_func_t *func, void *data);
void rb_id_table_foreach_values(struct rb_id_table *tbl, rb_id_table_foreach_values_func_t *func, void *data);
#endif /* RUBY_ID_TABLE_H */
on>
The Ruby Programming Language | |
Age | Commit message (Expand) | Author |
2008-06-15 | merge revision(s) 16420,16454: | shyouhei |
2007-09-07 | * include/ruby/defines.h (flush_register_windows): call "ta 0x03" | shyouhei |
2007-02-24 | * defines.h: Pull the RUBY_MBCHAR_MAXSIZE definition from trunk, | knu |
2007-02-19 | * configure.in, defines.h, eval.c (rb_feature_p, rb_provided, | knu |
2006-09-01 | * common.mk, configure.in, defines.h, eval.c, gc.c, main.c, | akr |
2005-10-25 | * configure.in (RUBY_EXTERN): macro to export symbols in shared | nobu |
2005-07-02 | refine #if condition introduced previously. | akr |
2005-07-02 | * defines.h (FLUSH_REGISTER_WINDOWS): defined for IA64. | akr |
2005-05-14 | * configure.in: Check for the availability of pid_t, gid_t and uid_t and | nobu |
2004-12-09 | change path of vms.h | akiyoshi |
2004-04-14 | * defines.h: include <net/socket.h> to get fd_set definition in BeOS. | ocean |