1#ifndef RBIMPL_RSTRUCT_H
2#define RBIMPL_RSTRUCT_H
30#if !defined RUBY_EXPORT && !defined RUBY_NO_OLD_COMPATIBILITY
31# include "ruby/backward.h"
35#define RSTRUCT_LEN RSTRUCT_LEN
36#define RSTRUCT_SET RSTRUCT_SET
37#define RSTRUCT_GET RSTRUCT_GET
Defines RBIMPL_ATTR_ARTIFICIAL.
#define RBIMPL_ATTR_ARTIFICIAL()
Wraps (or simulates) __attribute__((artificial))
Tweaking visibility of C variables/functions.
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
#define INT2NUM
Old name of RB_INT2NUM.
Arithmetic conversion between C's int and Ruby's.
Arithmetic conversion between rb_len_t and Ruby's.
#define RB_NUM2LEN
Converts an instance of rb_cNumeric into rb_len_t.
static VALUE RSTRUCT_SET(VALUE st, int k, VALUE v)
Resembles Struct#[]=.
static VALUE RSTRUCT_GET(VALUE st, int k)
Resembles Struct#[].
static rb_len_t RSTRUCT_LEN(VALUE st)
Returns the number of struct members.
VALUE rb_struct_aset(VALUE st, VALUE k, VALUE v)
Resembles Struct#[]=.
VALUE rb_struct_size(VALUE st)
Returns the number of struct members.
VALUE rb_struct_aref(VALUE st, VALUE k)
Resembles Struct#[].
long rb_len_t
A signed integer type for lengths and indices of objects such as String and Array.
uintptr_t VALUE
Type that represents a Ruby object.
Defines enum ruby_value_type.