mruby 3.3.0
mruby is the lightweight implementation of the Ruby language
Loading...
Searching...
No Matches
variable.h
Go to the documentation of this file.
1
7#ifndef MRUBY_VARIABLE_H
8#define MRUBY_VARIABLE_H
9
10#include "common.h"
11
16
18MRB_API void mrb_const_set(mrb_state*, mrb_value, mrb_sym, mrb_value);
19MRB_API mrb_bool mrb_const_defined(mrb_state*, mrb_value, mrb_sym);
20MRB_API void mrb_const_remove(mrb_state*, mrb_value, mrb_sym);
21
22MRB_API mrb_bool mrb_iv_name_sym_p(mrb_state *mrb, mrb_sym sym);
23MRB_API void mrb_iv_name_sym_check(mrb_state *mrb, mrb_sym sym);
24MRB_API mrb_value mrb_obj_iv_get(mrb_state *mrb, struct RObject *obj, mrb_sym sym);
25MRB_API void mrb_obj_iv_set(mrb_state *mrb, struct RObject *obj, mrb_sym sym, mrb_value v);
26MRB_API mrb_bool mrb_obj_iv_defined(mrb_state *mrb, struct RObject *obj, mrb_sym sym);
27MRB_API mrb_value mrb_iv_get(mrb_state *mrb, mrb_value obj, mrb_sym sym);
28MRB_API void mrb_iv_set(mrb_state *mrb, mrb_value obj, mrb_sym sym, mrb_value v);
29MRB_API mrb_bool mrb_iv_defined(mrb_state*, mrb_value, mrb_sym);
30MRB_API mrb_value mrb_iv_remove(mrb_state *mrb, mrb_value obj, mrb_sym sym);
31MRB_API void mrb_iv_copy(mrb_state *mrb, mrb_value dst, mrb_value src);
32MRB_API mrb_bool mrb_const_defined_at(mrb_state *mrb, mrb_value mod, mrb_sym id);
33
53
72MRB_API void mrb_gv_set(mrb_state *mrb, mrb_sym sym, mrb_value val);
73
90
91MRB_API mrb_value mrb_cv_get(mrb_state *mrb, mrb_value mod, mrb_sym sym);
92MRB_API void mrb_mod_cv_set(mrb_state *mrb, struct RClass * c, mrb_sym sym, mrb_value v);
93MRB_API void mrb_cv_set(mrb_state *mrb, mrb_value mod, mrb_sym sym, mrb_value v);
94MRB_API mrb_bool mrb_cv_defined(mrb_state *mrb, mrb_value mod, mrb_sym sym);
95
96/* return non zero to break the loop */
97typedef int (mrb_iv_foreach_func)(mrb_state*,mrb_sym,mrb_value,void*);
98MRB_API void mrb_iv_foreach(mrb_state *mrb, mrb_value obj, mrb_iv_foreach_func *func, void *p);
99
101
102#endif /* MRUBY_VARIABLE_H */
mruby Boolean.
mruby Symbol.
mruby common platform definition"
#define MRB_END_DECL
End declarations in C mode.
Definition common.h:28
#define MRB_BEGIN_DECL
Start declarations in C mode.
Definition common.h:26
#define MRB_API
Declare a public mruby API function.
Definition common.h:79
Class class.
Definition class.h:17
Definition object.h:30
Definition mruby.h:256
Definition boxing_nan.h:40
void mrb_gv_remove(mrb_state *mrb, mrb_sym sym)
Remove a global variable.
Definition variable.c:953
void mrb_gv_set(mrb_state *mrb, mrb_sym sym, mrb_value val)
Set a global variable.
Definition variable.c:941
mrb_value mrb_const_get(mrb_state *, mrb_value, mrb_sym)
Functions to access mruby variables.
Definition variable.c:795
mrb_value mrb_gv_get(mrb_state *mrb, mrb_sym sym)
Get a global variable.
Definition variable.c:931