Ruby: include/ruby/internal/intern/struct.h Source File

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

struct.h
Go to the documentation of this file.
1#ifndef RBIMPL_INTERN_STRUCT_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_INTERN_STRUCT_H
23#include "ruby/internal/dllexport.h"
24#include "ruby/internal/intern/vm.h" /* rb_alloc_func_t */
25#include "ruby/internal/value.h"
26
27 RBIMPL_SYMBOL_EXPORT_BEGIN()
28
29/* struct.c */
30 VALUE rb_struct_new(VALUE, ...);
31 VALUE rb_struct_define(const char*, ...);
32 VALUE rb_struct_define_under(VALUE, const char*, ...);
33 VALUE rb_struct_alloc(VALUE, VALUE);
34 VALUE rb_struct_initialize(VALUE, VALUE);
35 VALUE rb_struct_aref(VALUE, VALUE);
36 VALUE rb_struct_aset(VALUE, VALUE, VALUE);
37 VALUE rb_struct_getmember(VALUE, ID);
38 VALUE rb_struct_s_members(VALUE);
39 VALUE rb_struct_members(VALUE);
40 VALUE rb_struct_size(VALUE s);
41 VALUE rb_struct_alloc_noinit(VALUE);
42 VALUE rb_struct_define_without_accessor(const char *, VALUE, rb_alloc_func_t, ...);
43 VALUE rb_struct_define_without_accessor_under(VALUE outer, const char *class_name, VALUE super, rb_alloc_func_t alloc, ...);
44
45 RBIMPL_SYMBOL_EXPORT_END()
46
47#endif /* RBIMPL_INTERN_STRUCT_H */
dllexport.h
Tewaking visibility of C variables/functions.
RBIMPL_SYMBOL_EXPORT_END
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition: dllexport.h:86
RBIMPL_SYMBOL_EXPORT_BEGIN
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition: dllexport.h:77
rb_struct_alloc_noinit
VALUE rb_struct_alloc_noinit(VALUE)
Definition: struct.c:381
rb_struct_define_without_accessor_under
VALUE rb_struct_define_without_accessor_under(VALUE outer, const char *class_name, VALUE super, rb_alloc_func_t alloc,...)
Definition: struct.c:438
rb_struct_s_members
VALUE rb_struct_s_members(VALUE)
Definition: struct.c:66
rb_struct_size
VALUE rb_struct_size(VALUE s)
Definition: struct.c:1326
rb_struct_define_without_accessor
VALUE rb_struct_define_without_accessor(const char *, VALUE, rb_alloc_func_t,...)
Definition: struct.c:451
rb_struct_members
VALUE rb_struct_members(VALUE)
Definition: struct.c:80
rb_struct_aref
VALUE rb_struct_aref(VALUE, VALUE)
Definition: struct.c:1096
rb_struct_initialize
VALUE rb_struct_initialize(VALUE, VALUE)
Definition: struct.c:693
rb_struct_aset
VALUE rb_struct_aset(VALUE, VALUE, VALUE)
Definition: struct.c:1123
rb_struct_define
VALUE rb_struct_define(const char *,...)
Definition: struct.c:464
rb_struct_alloc
VALUE rb_struct_alloc(VALUE, VALUE)
Definition: struct.c:760
rb_struct_getmember
VALUE rb_struct_getmember(VALUE, ID)
Definition: struct.c:219
rb_struct_define_under
VALUE rb_struct_define_under(VALUE, const char *,...)
Definition: struct.c:479
rb_struct_new
VALUE rb_struct_new(VALUE,...)
Definition: struct.c:766
vm.h
Public APIs related to rb_cRubyVM.
rb_alloc_func_t
VALUE(* rb_alloc_func_t)(VALUE)
Definition: vm.h:50
const
#define const
Definition: strftime.c:108
value.h
Defines VALUE and ID.
VALUE
unsigned long VALUE
Definition: value.h:38
ID
unsigned long ID
Definition: value.h:39