Ruby: include/ruby/internal/intern/proc.h Source File

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

proc.h
Go to the documentation of this file.
1#ifndef RBIMPL_INTERN_PROC_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_INTERN_PROC_H
23#include "ruby/internal/dllexport.h"
24#include "ruby/internal/iterator.h"
25#include "ruby/internal/value.h"
26
27 RBIMPL_SYMBOL_EXPORT_BEGIN()
28
29/* proc.c */
30 VALUE rb_block_proc(void);
31 VALUE rb_block_lambda(void);
32 VALUE rb_proc_new(rb_block_call_func_t, VALUE);
33 VALUE rb_obj_is_proc(VALUE);
34 VALUE rb_proc_call(VALUE, VALUE);
35 VALUE rb_proc_call_kw(VALUE, VALUE, int);
36 VALUE rb_proc_call_with_block(VALUE, int argc, const VALUE *argv, VALUE);
37 VALUE rb_proc_call_with_block_kw(VALUE, int argc, const VALUE *argv, VALUE, int);
38int rb_proc_arity(VALUE);
39 VALUE rb_proc_lambda_p(VALUE);
40 VALUE rb_binding_new(void);
41 VALUE rb_obj_method(VALUE, VALUE);
42 VALUE rb_obj_is_method(VALUE);
43 VALUE rb_method_call(int, const VALUE*, VALUE);
44 VALUE rb_method_call_kw(int, const VALUE*, VALUE, int);
45 VALUE rb_method_call_with_block(int, const VALUE *, VALUE, VALUE);
46 VALUE rb_method_call_with_block_kw(int, const VALUE *, VALUE, VALUE, int);
47int rb_mod_method_arity(VALUE, ID);
48int rb_obj_method_arity(VALUE, ID);
49 VALUE rb_protect(VALUE (*)(VALUE), VALUE, int*);
50
51 RBIMPL_SYMBOL_EXPORT_END()
52
53#endif /* RBIMPL_INTERN_PROC_H */
dllexport.h
Tewaking visibility of C variables/functions.
RBIMPL_SYMBOL_EXPORT_END
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition: dllexport.h:86
RBIMPL_SYMBOL_EXPORT_BEGIN
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition: dllexport.h:77
rb_protect
VALUE rb_protect(VALUE(*)(VALUE), VALUE, int *)
Protects a function call from potential global escapes from the function.
Definition: eval.c:1105
rb_proc_arity
int rb_proc_arity(VALUE)
Definition: proc.c:1126
rb_obj_method
VALUE rb_obj_method(VALUE, VALUE)
Definition: proc.c:1992
rb_method_call_with_block
VALUE rb_method_call_with_block(int, const VALUE *, VALUE, VALUE)
Definition: proc.c:2434
rb_obj_is_method
VALUE rb_obj_is_method(VALUE)
Definition: proc.c:1590
rb_obj_is_proc
VALUE rb_obj_is_proc(VALUE)
Definition: proc.c:152
rb_method_call
VALUE rb_method_call(int, const VALUE *, VALUE)
Definition: proc.c:2398
rb_proc_call_with_block
VALUE rb_proc_call_with_block(VALUE, int argc, const VALUE *argv, VALUE)
Definition: proc.c:1013
rb_obj_method_arity
int rb_obj_method_arity(VALUE, ID)
Definition: proc.c:2781
rb_block_proc
VALUE rb_block_proc(void)
Definition: proc.c:826
rb_proc_call_with_block_kw
VALUE rb_proc_call_with_block_kw(VALUE, int argc, const VALUE *argv, VALUE, int)
Definition: proc.c:1001
rb_proc_call_kw
VALUE rb_proc_call_kw(VALUE, VALUE, int)
Definition: proc.c:966
rb_mod_method_arity
int rb_mod_method_arity(VALUE, ID)
Definition: proc.c:2773
rb_proc_lambda_p
VALUE rb_proc_lambda_p(VALUE)
Definition: proc.c:275
rb_proc_new
VALUE rb_proc_new(rb_block_call_func_t, VALUE)
Definition: proc.c:3145
rb_method_call_kw
VALUE rb_method_call_kw(int, const VALUE *, VALUE, int)
Definition: proc.c:2391
rb_proc_call
VALUE rb_proc_call(VALUE, VALUE)
Definition: proc.c:981
rb_block_lambda
VALUE rb_block_lambda(void)
Definition: proc.c:845
rb_method_call_with_block_kw
VALUE rb_method_call_with_block_kw(int, const VALUE *, VALUE, VALUE, int)
Definition: proc.c:2421
rb_binding_new
VALUE rb_binding_new(void)
Definition: proc.c:364
iterator.h
Block related APIs.
rb_block_call_func_t
rb_block_call_func * rb_block_call_func_t
Definition: iterator.h:34
argc
int argc
Definition: ruby.c:240
argv
char ** argv
Definition: ruby.c:241
const
#define const
Definition: strftime.c:108
value.h
Defines VALUE and ID.
VALUE
unsigned long VALUE
Definition: value.h:38
ID
unsigned long ID
Definition: value.h:39