102 VALUE members, slot, *ptr, *ptr_members;
110 for (i=0; i<
len; i++) {
111 if (ptr_members[i] == slot) {
136 #define numberof(array) (int)(sizeof(array) / sizeof((array)[0]))
137 #define N_REF_FUNC numberof(ref_func)
163 VALUE members, slot, *ptr, *ptr_members;
171 for (i=0; i<
len; i++) {
172 slot = ptr_members[
i];
185 VALUE nstr, *ptr_members;
216 for (i=0; i<
len; i++) {
248 while ((name = va_arg(ar,
char*)) !=
NULL) {
280 if (!name) nm =
Qnil;
285 while ((mem = va_arg(ar,
char*)) != 0) {
432 va_start(args, klass);
433 for (i=0; i<
size; i++) {
434 mem[
i] = va_arg(args,
VALUE);
514 VALUE *ptr, *ptr_members;
518 if (recur || first !=
'#') {
529 for (i=0; i<
len; i++) {
536 else if (first !=
'#') {
539 slot = ptr_members[
i];
592 if (copy == s)
return copy;
608 VALUE *ptr, members, *ptr_members;
615 for (i=0; i<
len; i++) {
616 if (
SYM2ID(ptr_members[i]) ==
id) {
666 VALUE members, *ptr, *ptr_members;
678 for (i=0; i<
len; i++) {
679 if (
SYM2ID(ptr_members[i]) ==
id) {
800 if (recur)
return Qtrue;
804 for (i=0; i<
len; i++) {
830 if (s == s2)
return Qtrue;
834 rb_bug(
"inconsistent struct");
851 for (i = 0; i <
len; i++) {
879 if (recur)
return Qtrue;
883 for (i=0; i<
len; i++) {
900 if (s == s2)
return Qtrue;
904 rb_bug(
"inconsistent struct");