Ruby
2.0.0p247(2013-06-27revision41674)
|
#include "ruby/defines.h"
Go to the source code of this file.
Data Structures | |
struct | st_hash_type |
struct | st_table |
Macros | |
#define | RUBY_ST_H 1 |
#define | ST_DATA_T_DEFINED |
#define | SIZEOF_ST_INDEX_T SIZEOF_VOIDP |
#define | ST_INDEX_BITS (sizeof(st_index_t) * CHAR_BIT) |
#define | st_is_member(table, key) st_lookup((table),(key),(st_data_t *)0) |
#define | st_hash_start(h) ((st_index_t)(h)) |
#define | ST_DATA_T_DEFINED |
#define | CHAR_BIT 8 |
#define | SIZEOF_ST_INDEX_T SIZEOF_VOIDP |
#define | ST_INDEX_BITS (sizeof(st_index_t) * CHAR_BIT) |
#define | st_is_member(table, key) st_lookup((table),(key),(st_data_t *)0) |
#define | st_hash_start(h) ((st_index_t)(h)) |
Typedefs | |
typedef unsigned long | st_data_t |
typedef struct st_table | st_table |
typedef st_data_t | st_index_t |
typedef int | st_compare_func (st_data_t, st_data_t) |
typedef st_index_t | st_hash_func (st_data_t) |
typedef char | st_check_for_sizeof_st_index_t [SIZEOF_VOIDP==(int) sizeof(st_index_t)?1:-1] |
typedef int | st_update_callback_func (st_data_t *key, st_data_t *value, st_data_t arg, int existing) |
Enumerations | |
enum | st_retval { ST_CONTINUE, ST_STOP, ST_DELETE, ST_CHECK, ST_CONTINUE, ST_STOP, ST_DELETE, ST_CHECK } |
#define SIZEOF_ST_INDEX_T SIZEOF_VOIDP |
Referenced by st_hash().
#define ST_DATA_T_DEFINED |
#define st_hash_start | ( | h | ) | ((st_index_t)(h)) |
#define st_hash_start | ( | h | ) | ((st_index_t)(h)) |
Referenced by rb_hash_start().
#define ST_INDEX_BITS (sizeof(st_index_t) * CHAR_BIT) |
#define ST_INDEX_BITS (sizeof(st_index_t) * CHAR_BIT) |
typedef char st_check_for_sizeof_st_index_t[SIZEOF_VOIDP==(int) sizeof(st_index_t)?1:-1] |
typedef st_index_t st_hash_func(st_data_t) |
typedef st_data_t st_index_t |
enum st_retval |
Definition at line 624 of file st.c.
References add_direct(), add_packed_direct(), do_hash, st_table::entries_packed, and st_table::num_bins.
Definition at line 797 of file st.c.
References st_table::bins, st_table::entries_packed, i, st_table_entry::key, last, st_table_entry::next, st_table::num_bins, st_table::num_entries, PACKED_ENT, PKEY, ptr, st_table::real_entries, st_free_entry, and tmp.
Definition at line 308 of file st.c.
References st_table::bins, st_table::entries_packed, st_table::head, i, st_table_entry::next, st_table::num_bins, st_table::num_entries, ptr, st_table::real_entries, st_free_entry, and st_table::tail.
Definition at line 658 of file st.c.
References st_table_entry::back, st_table::bins, st_table::entries_packed, st_table_entry::fore, st_table_entry::hash, st_table::head, MEMCPY, st_table_entry::next, st_table::num_bins, ptr, st_alloc_bins, st_alloc_entry, st_alloc_table, st_dealloc_table, st_free_table(), and st_table::tail.
Definition at line 1000 of file st.c.
References arg, st_table::bins, st_table::entries_packed, FIND_ENTRY, st_table_entry::fore, st_table_entry::hash, hash, st_table::head, i, st_table_entry::key, key, last, st_table_entry::next, st_table::num_bins, PHASH, PKEY, ptr, PVAL, st_table::real_entries, st_table_entry::record, remove_entry(), remove_packed_entry(), retval, ST_CHECK, ST_CONTINUE, ST_DELETE, st_free_entry, ST_STOP, tmp, and val.
Definition at line 909 of file st.c.
References arg, st_table::bins, st_table::entries_packed, FIND_ENTRY, find_packed_index(), st_table_entry::fore, st_table_entry::hash, hash, st_table::head, i, st_table_entry::key, key, last, st_table_entry::next, st_table::num_bins, PHASH, PKEY, ptr, PVAL, st_table::real_entries, st_table_entry::record, remove_entry(), remove_safe_packed_entry(), retval, ST_CHECK, ST_CONTINUE, ST_DELETE, ST_STOP, tmp, and val.
Definition at line 334 of file st.c.
References st_table::bins, st_table::num_bins, st_clear(), st_dealloc_table, and st_free_bins.
st_index_t st_hash | ( | const void * | ptr, |
size_t | len, | ||
st_index_t | h | ||
) |
Definition at line 1313 of file st.c.
References CHAR_BIT, d, data, int, murmur_finish(), murmur_step, MurmurMagic, ptr, SIZEOF_ST_INDEX_T, t, and UNALIGNED_ADD_ALL.
st_index_t st_hash_end | ( | st_index_t | h | ) |
Definition at line 1477 of file st.c.
References murmur_step.
st_index_t st_hash_start | ( | st_index_t | h | ) |
st_index_t st_hash_uint | ( | st_index_t | h, |
st_index_t | i | ||
) |
st_index_t st_hash_uint32 | ( | st_index_t | h, |
uint32_t | i | ||
) |
Definition at line 1440 of file st.c.
References murmur_step.
Definition at line 272 of file st.c.
References st_init_table(), and type_numhash.
st_table* st_init_numtable_with_size | ( | st_index_t | ) |
Definition at line 278 of file st.c.
References st_init_table_with_size(), and type_numhash.
Definition at line 296 of file st.c.
References st_init_table().
st_table* st_init_strcasetable_with_size | ( | st_index_t | ) |
Definition at line 302 of file st.c.
References st_init_table_with_size().
Definition at line 284 of file st.c.
References st_init_table().
st_table* st_init_strtable_with_size | ( | st_index_t | ) |
Definition at line 290 of file st.c.
References st_init_table_with_size().
st_table* st_init_table | ( | const struct st_hash_type * | ) |
Definition at line 266 of file st.c.
References st_init_table_with_size().
st_table* st_init_table_with_size | ( | const struct st_hash_type * | , |
st_index_t | |||
) |
Definition at line 229 of file st.c.
References st_table::bins, e, st_table::entries_packed, getenv(), st_table::head, MAX_PACKED_HASH, new_size(), st_table::num_bins, st_table::num_entries, size, st_alloc_bins, st_alloc_table, ST_DEFAULT_PACKED_TABLE_SIZE, st_table::tail, tbl, st_table::type, and type.
Definition at line 342 of file st.c.
References st_table::entries_packed, st_table::num_bins, and st_table::num_entries.
st_index_t st_numhash | ( | st_data_t | ) |
int st_update | ( | st_table * | table, |
st_data_t | key, | ||
st_update_callback_func * | func, | ||
st_data_t | arg | ||
) |
Definition at line 834 of file st.c.
References add_direct(), add_packed_direct(), arg, st_table::bins, do_hash, st_table::entries_packed, FIND_ENTRY, find_packed_index(), st_table_entry::fore, i, st_table_entry::key, key, last, st_table_entry::next, st_table::num_bins, PKEY, ptr, PVAL, PVAL_SET, real_entries, st_table_entry::record, remove_entry(), remove_packed_entry(), retval, ST_CONTINUE, ST_DELETE, st_free_entry, tmp, and value.