Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)
Functions
class.h File Reference

Public APIs related to rb_cClass/rb_cModule. More...

#include "ruby/internal/dllexport.h"
#include "ruby/internal/value.h"
#include "ruby/backward/2/stdarg.h"

Go to the source code of this file.

Functions

VALUE rb_class_new (VALUE)
 Creates a new class. More...
 
VALUE rb_mod_init_copy (VALUE, VALUE)
 
VALUE rb_singleton_class_clone (VALUE)
 
void rb_singleton_class_attached (VALUE, VALUE)
 Attach a object to a singleton class. More...
 
void rb_check_inheritable (VALUE)
 Ensures a class can be derived from super. More...
 
VALUE rb_define_class_id (ID, VALUE)
 Defines a new class. More...
 
VALUE rb_define_class_id_under (VALUE, ID, VALUE)
 Defines a class under the namespace of outer. More...
 
VALUE rb_module_new (void)
 
VALUE rb_define_module_id (ID)
 
VALUE rb_define_module_id_under (VALUE, ID)
 
VALUE rb_mod_included_modules (VALUE)
 
VALUE rb_mod_include_p (VALUE, VALUE)
 
VALUE rb_mod_ancestors (VALUE)
 
VALUE rb_class_instance_methods (int, const VALUE *, VALUE)
 
VALUE rb_class_public_instance_methods (int, const VALUE *, VALUE)
 
VALUE rb_class_protected_instance_methods (int, const VALUE *, VALUE)
 
VALUE rb_class_private_instance_methods (int, const VALUE *, VALUE)
 
VALUE rb_obj_singleton_methods (int, const VALUE *, VALUE)
 
void rb_define_method_id (VALUE, ID, VALUE(*)(ANYARGS), int)
 
void rb_undef (VALUE, ID)
 
void rb_define_protected_method (VALUE, const char *, VALUE(*)(ANYARGS), int)
 
void rb_define_private_method (VALUE, const char *, VALUE(*)(ANYARGS), int)
 
void rb_define_singleton_method (VALUE, const char *, VALUE(*)(ANYARGS), int)
 Defines a singleton method for obj. More...
 
VALUE rb_singleton_class (VALUE)
 Returns the singleton class of obj. More...
 

Detailed Description

Public APIs related to rb_cClass/rb_cModule.

Author
Ruby developers ruby-.nosp@m.core.nosp@m.@ruby.nosp@m.-lan.nosp@m.g.org
Warning
Symbols prefixed with either RBIMPL or rbimpl are implementation details. Don't take them as canon. They could rapidly appear then vanish. The name (path) of this header file is also an implementation detail. Do not expect it to persist at the place it is now. Developers are free to move it anywhere anytime at will.
Note
To ruby-core: remember that this header can be possibly recursively included from extension libraries written in C++. Do not expect for instance __VA_ARGS__ is always available. We assume C99 for ruby itself but we don't assume languages of extension libraries. They could be written in C++98.

Definition in file class.h.

Function Documentation

◆ rb_undef()

void rb_undef ( VALUE  klass,
ID  id 
)