Ruby 3.3.2p78 (2024-05-30 revision e5a195edf62fe1bf7146a191da13fa1c4fecbd71)
|
#include "ruby/internal/static_assert.h"
#include "ruby/backward/2/long_long.h"
#include "ruby/backward/2/limits.h"
Go to the source code of this file.
Macros | |
#define | SIZEOF_VALUE SIZEOF_UINTPTR_T |
Identical to sizeof(VALUE) , except it is a macro that can also be used inside of preprocessor directives such as #if . | |
#define | RBIMPL_VALUE_NULL UINTPTR_C(0) |
A compile-time constant of type VALUE whose value is 0. | |
#define | RBIMPL_VALUE_ONE UINTPTR_C(1) |
A compile-time constant of type VALUE whose value is 1. | |
#define | RBIMPL_VALUE_FULL UINTPTR_MAX |
Maximum possible value that a VALUE can take. | |
Typedefs | |
typedef uintptr_t | VALUE |
Type that represents a Ruby object. | |
typedef uintptr_t | ID |
Type that represents a Ruby identifier such as a variable name. | |
typedef intptr_t | SIGNED_VALUE |
A signed integer type that has the same width with VALUE. | |
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 value.h.
#define RBIMPL_VALUE_FULL UINTPTR_MAX |
Maximum possible value that a VALUE can take.
Definition at line 90 of file value.h.
Referenced by RB_STATIC_SYM_P().
#define RBIMPL_VALUE_NULL UINTPTR_C(0) |
A compile-time constant of type VALUE whose value is 0.
Definition at line 76 of file value.h.
Referenced by RB_FL_TEST().
#define RBIMPL_VALUE_ONE UINTPTR_C(1) |
#define SIZEOF_VALUE SIZEOF_UINTPTR_T |
Identical to sizeof(VALUE)
, except it is a macro that can also be used inside of preprocessor directives such as #if
.
Handy on occasions.
Definition at line 69 of file value.h.
Referenced by rb_fix2str(), rb_memsearch(), and rb_uint2big().
typedef uintptr_t ID |
Type that represents a Ruby identifier such as a variable name.
typedef intptr_t SIGNED_VALUE |
typedef uintptr_t VALUE |
Type that represents a Ruby object.
It is an unsigned integer of some kind, depending on platforms.