mruby  2.0.1
mruby is the lightweight implementation of the Ruby language
Classes | Macros | Typedefs | Functions
hash.h File Reference

More...

#include "common.h"
Include dependency graph for hash.h:

Go to the source code of this file.

Classes

struct  RHash
 Hash class. More...
 
struct  mrb_hash_value
 

Macros

#define mrb_hash_ptr(v)   ((struct RHash*)(mrb_ptr(v)))
 
#define mrb_hash_value(p)   mrb_obj_value((void*)(p))
 
#define RHASH(obj)   ((struct RHash*)(mrb_ptr(obj)))
 
#define RHASH_TBL(h)   (RHASH(h)->ht)
 
#define RHASH_IFNONE(h)   mrb_iv_get(mrb, (h), mrb_intern_lit(mrb, "ifnone"))
 
#define RHASH_PROCDEFAULT(h)   RHASH_IFNONE(h)
 
#define MRB_HASH_DEFAULT   1
 
#define MRB_HASH_PROC_DEFAULT   2
 
#define MRB_RHASH_DEFAULT_P(h)   (RHASH(h)->flags & MRB_HASH_DEFAULT)
 
#define MRB_RHASH_PROCDEFAULT_P(h)   (RHASH(h)->flags & MRB_HASH_PROC_DEFAULT)
 

Typedefs

typedef int() mrb_hash_foreach_func(mrb_state *mrb, mrb_value key, mrb_value val, void *data)
 

Functions

mrb_value mrb_hash_new_capa (mrb_state *, mrb_int)
 
mrb_value mrb_ensure_hash_type (mrb_state *mrb, mrb_value hash)
 
mrb_value mrb_check_hash_type (mrb_state *mrb, mrb_value hash)
 
mrb_value mrb_hash_new (mrb_state *mrb)
 
void mrb_hash_set (mrb_state *mrb, mrb_value hash, mrb_value key, mrb_value val)
 
mrb_value mrb_hash_get (mrb_state *mrb, mrb_value hash, mrb_value key)
 
mrb_value mrb_hash_fetch (mrb_state *mrb, mrb_value hash, mrb_value key, mrb_value def)
 
mrb_value mrb_hash_delete_key (mrb_state *mrb, mrb_value hash, mrb_value key)
 
mrb_value mrb_hash_keys (mrb_state *mrb, mrb_value hash)
 
mrb_bool mrb_hash_key_p (mrb_state *mrb, mrb_value hash, mrb_value key)
 
mrb_bool mrb_hash_empty_p (mrb_state *mrb, mrb_value self)
 
mrb_value mrb_hash_values (mrb_state *mrb, mrb_value hash)
 
mrb_value mrb_hash_clear (mrb_state *mrb, mrb_value hash)
 
mrb_int mrb_hash_size (mrb_state *mrb, mrb_value hash)
 
mrb_value mrb_hash_dup (mrb_state *mrb, mrb_value hash)
 
void mrb_hash_merge (mrb_state *mrb, mrb_value hash1, mrb_value hash2)
 
void mrb_gc_mark_hash (mrb_state *, struct RHash *)
 
size_t mrb_gc_mark_hash_size (mrb_state *, struct RHash *)
 
void mrb_gc_free_hash (mrb_state *, struct RHash *)
 
void mrb_hash_foreach (mrb_state *mrb, struct RHash *hash, mrb_hash_foreach_func *func, void *p)
 

Detailed Description

See Copyright Notice in mruby.h