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

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

class.h
Go to the documentation of this file.
1#ifndef RBIMPL_INTERN_CLASS_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_INTERN_CLASS_H
23#include "ruby/internal/dllexport.h"
24#include "ruby/internal/value.h"
25#include "ruby/backward/2/stdarg.h"
26
27 RBIMPL_SYMBOL_EXPORT_BEGIN()
28
29/* class.c */
30 VALUE rb_class_new(VALUE);
31 VALUE rb_mod_init_copy(VALUE, VALUE);
32 VALUE rb_singleton_class_clone(VALUE);
33void rb_singleton_class_attached(VALUE,VALUE);
34void rb_check_inheritable(VALUE);
35 VALUE rb_define_class_id(ID, VALUE);
36 VALUE rb_define_class_id_under(VALUE, ID, VALUE);
37 VALUE rb_module_new(void);
38 VALUE rb_define_module_id(ID);
39 VALUE rb_define_module_id_under(VALUE, ID);
40 VALUE rb_mod_included_modules(VALUE);
41 VALUE rb_mod_include_p(VALUE, VALUE);
42 VALUE rb_mod_ancestors(VALUE);
43 VALUE rb_class_instance_methods(int, const VALUE*, VALUE);
44 VALUE rb_class_public_instance_methods(int, const VALUE*, VALUE);
45 VALUE rb_class_protected_instance_methods(int, const VALUE*, VALUE);
46 VALUE rb_class_private_instance_methods(int, const VALUE*, VALUE);
47 VALUE rb_obj_singleton_methods(int, const VALUE*, VALUE);
48void rb_define_method_id(VALUE, ID, VALUE (*)(ANYARGS), int);
49void rb_undef(VALUE, ID);
50void rb_define_protected_method(VALUE, const char*, VALUE (*)(ANYARGS), int);
51void rb_define_private_method(VALUE, const char*, VALUE (*)(ANYARGS), int);
52void rb_define_singleton_method(VALUE, const char*, VALUE(*)(ANYARGS), int);
53 VALUE rb_singleton_class(VALUE);
54
55 RBIMPL_SYMBOL_EXPORT_END()
56
57#endif /* RBIMPL_INTERN_CLASS_H */
rb_define_method_id
#define rb_define_method_id(klass, mid, func, arity)
Defines klass#mid.
Definition: cxxanyargs.hpp:656
rb_define_singleton_method
#define rb_define_singleton_method(klass, mid, func, arity)
Defines klass.mid.
Definition: cxxanyargs.hpp:668
rb_define_protected_method
#define rb_define_protected_method(klass, mid, func, arity)
Defines klass#mid and makes it protected.
Definition: cxxanyargs.hpp:664
rb_define_private_method
#define rb_define_private_method(klass, mid, func, arity)
Defines klass#mid and makes it private.
Definition: cxxanyargs.hpp:660
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_class_protected_instance_methods
VALUE rb_class_protected_instance_methods(int, const VALUE *, VALUE)
Definition: class.c:1489
rb_class_new
VALUE rb_class_new(VALUE)
Creates a new class.
Definition: class.c:253
rb_singleton_class_clone
VALUE rb_singleton_class_clone(VALUE)
Definition: class.c:459
rb_singleton_class
VALUE rb_singleton_class(VALUE)
Returns the singleton class of obj.
Definition: class.c:1924
rb_obj_singleton_methods
VALUE rb_obj_singleton_methods(int, const VALUE *, VALUE)
Definition: class.c:1651
rb_module_new
VALUE rb_module_new(void)
Definition: class.c:856
rb_class_instance_methods
VALUE rb_class_instance_methods(int, const VALUE *, VALUE)
Definition: class.c:1474
rb_check_inheritable
void rb_check_inheritable(VALUE)
Ensures a class can be derived from super.
Definition: class.c:231
rb_class_public_instance_methods
VALUE rb_class_public_instance_methods(int, const VALUE *, VALUE)
Definition: class.c:1527
rb_define_module_id_under
VALUE rb_define_module_id_under(VALUE, ID)
Definition: class.c:901
rb_singleton_class_attached
void rb_singleton_class_attached(VALUE, VALUE)
Attach a object to a singleton class.
Definition: class.c:530
rb_mod_included_modules
VALUE rb_mod_included_modules(VALUE)
Definition: class.c:1233
rb_define_class_id_under
VALUE rb_define_class_id_under(VALUE, ID, VALUE)
Defines a class under the namespace of outer.
Definition: class.c:820
rb_mod_ancestors
VALUE rb_mod_ancestors(VALUE)
Definition: class.c:1301
rb_mod_include_p
VALUE rb_mod_include_p(VALUE, VALUE)
Definition: class.c:1269
rb_class_private_instance_methods
VALUE rb_class_private_instance_methods(int, const VALUE *, VALUE)
Definition: class.c:1512
rb_mod_init_copy
VALUE rb_mod_init_copy(VALUE, VALUE)
Definition: class.c:359
rb_define_module_id
VALUE rb_define_module_id(ID)
Definition: class.c:865
rb_define_class_id
VALUE rb_define_class_id(ID, VALUE)
Defines a new class.
Definition: class.c:701
rb_undef
void rb_undef(VALUE, ID)
Definition: vm_method.c:1545
stdarg.h
Defines old _.
ANYARGS
#define ANYARGS
Definition: stdarg.h:42
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