pub unsafe extern "C" fn rb_struct_define_without_accessor(
name: *const c_char,
super_: VALUE,
func: rb_alloc_func_t,
...
) -> VALUEExpand description
Identical to rb_struct_define, except it does not define accessor methods.
You have to define them yourself. Forget about the allocator function
parameter; it is for internal use only. Extension libraries are unable to
properly allocate a ruby struct, because RStruct is opaque.
@internal
Several flags must be set up properly for ::RUBY_T_STRUCT objects, which are also missing for extension libraries.
@endinternal
§@param[in] name Name of the class.
@param[in] super Superclass of the defining class.
@param[in] func Must be 0 for extension libraries.
@param[in] … Arbitrary number of const char*, terminated by
NULL. Each of which are the name of fields.
@exception rb_eNameError name is not a constant name.
@exception rb_eTypeError name is already taken.
@exception rb_eArgError Duplicated field name.
@return The defined class.
@post Global toplevel constant name is defined.
@note name is allowed to be a null pointer. This function creates
an anonymous struct class then.
Generated by rb-sys for Ruby mri-x86_64-linux-gnu-3.3.8