|
Ruby
3.1.4p223 (2023-03-30 revision HEAD)
|
Ruby's ordinal objects. More...
#include <robject.h>
Data Fields | |
| struct RBasic | basic |
| Basic part, including flags and class. More... | |
| union { | |
| struct { | |
| uint32_t numiv | |
| Number of instance variables. More... | |
| VALUE * ivptr | |
| Pointer to a C array that holds instance variables. More... | |
| struct st_table * iv_index_tbl | |
| This is a table that holds instance variable name to index mapping. More... | |
| } heap | |
| Object that use separated memory region for instance variables use this pattern. More... | |
| VALUE ary [ROBJECT_EMBED_LEN_MAX] | |
| Embedded instance variables. More... | |
| } | as |
| Object's specific fields. More... | |
Ruby's ordinal objects.
Unless otherwise special cased, all predefined and user-defined classes share this struct to hold their instances.
| VALUE RObject::ary[ROBJECT_EMBED_LEN_MAX] |
| union { ... } RObject::as |
Object's specific fields.
| struct RBasic RObject::basic |
| struct { ... } RObject::heap |
Object that use separated memory region for instance variables use this pattern.
| struct st_table* RObject::iv_index_tbl |
| VALUE* RObject::ivptr |
| uint32_t RObject::numiv |