Ruby
3.1.4p223 (2023-03-30 revision HEAD)
|
Defines struct RObject. More...
#include "ruby/internal/config.h"
#include "ruby/internal/attr/artificial.h"
#include "ruby/internal/attr/deprecated.h"
#include "ruby/internal/attr/pure.h"
#include "ruby/internal/cast.h"
#include "ruby/internal/fl_type.h"
#include "ruby/internal/value.h"
#include "ruby/internal/value_type.h"
Go to the source code of this file.
Data Structures | |
struct | RObject |
Ruby's ordinal objects. More... | |
Macros | |
#define | ROBJECT(obj) RBIMPL_CAST((struct RObject *)(obj)) |
Convenient casting macro. More... | |
Enumerations | |
enum | ruby_robject_consts { ROBJECT_EMBED_LEN_MAX = RBIMPL_EMBED_LEN_MAX_OF(VALUE) } |
This is an enum because GDB wants it (rather than a macro). More... | |
Functions | |
static uint32_t | ROBJECT_NUMIV (VALUE obj) |
Queries the number of instance variables. More... | |
static VALUE * | ROBJECT_IVPTR (VALUE obj) |
Queries the instance variables. More... | |
Defines struct RObject.
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. __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 robject.h.
#define ROBJECT | ( | obj | ) | RBIMPL_CAST((struct RObject *)(obj)) |
enum ruby_robject_consts |
Queries the instance variables.
[in] | obj | Object in question. |
obj
must be an instance of RObject. Definition at line 171 of file robject.h.
Referenced by rb_ivar_count(), and rb_ivar_defined().
|
inlinestatic |
Queries the number of instance variables.
[in] | obj | Object in question. |
obj
must be an instance of RObject. Definition at line 145 of file robject.h.
Referenced by rb_ivar_count(), and rb_ivar_defined().