Ruby 3.5.0dev (2025-02-22 revision 412997300569c1853c09813e4924b6df3d7e8669)
method.h
Go to the documentation of this file.
1#ifndef RBIMPL_METHOD_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_METHOD_H
25#include "ruby/internal/value.h"
27
87
99void rb_define_method(VALUE klass, const char *mid, VALUE (*func)(ANYARGS), int arity);
100
112void rb_define_module_function(VALUE klass, const char *mid, VALUE (*func)(ANYARGS), int arity);
113
124void rb_define_global_function(const char *mid, VALUE (*func)(ANYARGS), int arity);
125
164void rb_undef_method(VALUE klass, const char *name);
165
185void rb_define_alias(VALUE klass, const char *dst, const char *src);
186
199void rb_define_attr(VALUE klass, const char *name, int read, int write);
200
204
205#endif /* RBIMPL_METHOD_H */
#define rb_define_method(klass, mid, func, arity)
Defines klass#mid.
#define rb_define_module_function(klass, mid, func, arity)
Defines klass#mid and makes it a module function.
#define rb_define_global_function(mid, func, arity)
Defines rb_mKernel #mid.
Tweaking visibility of C variables/functions.
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition dllexport.h:74
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition dllexport.h:65
void rb_define_alias(VALUE klass, const char *name1, const char *name2)
Defines an alias of a method.
Definition class.c:2345
void rb_define_attr(VALUE klass, const char *name, int read, int write)
Defines public accessor method(s) for an attribute.
Definition class.c:2351
void rb_undef_method(VALUE klass, const char *name)
Defines an undef of a method.
Definition class.c:2166
Defines RBIMPL_ATTR_NONNULL.
#define RBIMPL_ATTR_NONNULL(list)
Wraps (or simulates) __attribute__((nonnull))
Definition nonnull.h:30
Defines old _.
#define ANYARGS
Functions declared using this macro take arbitrary arguments, including void.
Definition stdarg.h:64
Defines VALUE and ID.
uintptr_t VALUE
Type that represents a Ruby object.
Definition value.h:40