Ruby
2.0.0p648(2015-12-16revision53162)
|
Go to the source code of this file.
Data Structures | |
struct | enumerator |
struct | generator |
struct | yielder |
Macros | |
#define | enumerator_free RUBY_TYPED_DEFAULT_FREE |
#define | yielder_free RUBY_TYPED_DEFAULT_FREE |
#define | generator_free RUBY_TYPED_DEFAULT_FREE |
Variables | |
VALUE | rb_cEnumerator |
VALUE | rb_cLazy |
static ID | id_rewind |
static ID | id_each |
static ID | id_new |
static ID | id_initialize |
static ID | id_yield |
static ID | id_call |
static ID | id_size |
static ID | id_to_enum |
static ID | id_eqq |
static ID | id_next |
static ID | id_result |
static ID | id_lazy |
static ID | id_receiver |
static ID | id_arguments |
static ID | id_memo |
static ID | id_method |
static ID | id_force |
static VALUE | sym_each |
static VALUE | sym_cycle |
VALUE | rb_eStopIteration |
static VALUE | rb_cGenerator |
static VALUE | rb_cYielder |
static const rb_data_type_t | enumerator_data_type |
static const rb_data_type_t | yielder_data_type |
static const rb_data_type_t | generator_data_type |
#define enumerator_free RUBY_TYPED_DEFAULT_FREE |
Definition at line 156 of file enumerator.c.
#define generator_free RUBY_TYPED_DEFAULT_FREE |
Definition at line 1104 of file enumerator.c.
#define yielder_free RUBY_TYPED_DEFAULT_FREE |
Definition at line 999 of file enumerator.c.
Definition at line 687 of file enumerator.c.
References args, Qnil, RARRAY_LEN, RARRAY_PTR, rb_ary_dup(), RB_TYPE_P, and T_ARRAY.
Referenced by enumerator_next(), and enumerator_peek().
Definition at line 1617 of file enumerator.c.
References id_next, enumerator::obj, and rb_funcall().
Referenced by lazy_zip_func().
Definition at line 1227 of file enumerator.c.
References id_size, Qnil, Qundef, and rb_check_funcall().
Referenced by enumerable_lazy(), and lazy_size().
Definition at line 1377 of file enumerator.c.
References enum_size(), id_method, lazy_to_enum_i(), enumerator::obj, Qfalse, rb_ivar_set(), result, and sym_each.
Referenced by InitVM_Enumerator(), and lazy_super().
Definition at line 257 of file enumerator.c.
References enumerator_data_type, enumerator::obj, Qundef, and TypedData_Make_Struct.
Referenced by InitVM_Enumerator(), lazy_to_enum_i(), and rb_enumeratorize_with_size().
|
static |
Definition at line 419 of file enumerator.c.
References argc, enumerator::args, argv, enumerator_ptr(), func, enumerator::meth, enumerator::obj, RARRAY_LENINT, RARRAY_PTR, and rb_block_call().
Referenced by enumerator_each(), enumerator_with_index(), and enumerator_with_object().
Definition at line 442 of file enumerator.c.
References argc, enumerator::args, args, argv, enumerator_block_call(), enumerator_ptr(), enumerator::obj, rb_ary_cat(), rb_ary_dup(), rb_ary_new4(), rb_block_given_p(), and rb_obj_dup().
Referenced by InitVM_Enumerator().
Definition at line 513 of file enumerator.c.
References enumerator_with_index(), NULL, and enumerator::obj.
Referenced by InitVM_Enumerator().
Definition at line 838 of file enumerator.c.
References enumerator_ptr(), enumerator::feedvalue, enumerator::obj, Qnil, Qundef, rb_eTypeError, rb_raise(), and v.
Referenced by InitVM_Enumerator().
|
static |
Definition at line 269 of file enumerator.c.
References argc, enumerator::args, argv, enumerator::dst, enumerator_data_type, enumerator::feedvalue, enumerator::fib, enumerator::lookahead, enumerator::meth, enumerator::obj, Qfalse, Qnil, Qundef, rb_ary_new4(), rb_eArgError, rb_raise(), rb_to_id(), size, enumerator::size, enumerator::size_fn, enumerator::stop_exc, and TypedData_Get_Struct.
Referenced by enumerator_initialize(), lazy_initialize(), lazy_to_enum_i(), and rb_enumeratorize_with_size().
Definition at line 365 of file enumerator.c.
References enumerator::args, enumerator_data_type, enumerator_ptr(), enumerator::feedvalue, enumerator::fib, enumerator::lookahead, enumerator::meth, enumerator::obj, OBJ_INIT_COPY, Qundef, rb_eArgError, rb_eTypeError, rb_raise(), enumerator::size, enumerator::size_fn, and TypedData_Get_Struct.
Referenced by InitVM_Enumerator().
Definition at line 332 of file enumerator.c.
References argc, argv, enumerator_init(), generator_allocate(), generator_init(), INFINITY, enumerator::meth, NIL_P, enumerator::obj, Qnil, rb_block_given_p(), rb_block_proc(), rb_cGenerator, rb_check_arity, rb_obj_is_proc(), rb_to_int(), RB_TYPE_P, rb_warn(), RFLOAT_VALUE, size, sym_each, T_FLOAT, and UNLIMITED_ARGUMENTS.
Referenced by InitVM_Enumerator().
Definition at line 956 of file enumerator.c.
References inspect_enumerator(), enumerator::obj, and rb_exec_recursive().
Referenced by InitVM_Enumerator().
|
static |
Definition at line 143 of file enumerator.c.
References enumerator::args, enumerator::dst, enumerator::feedvalue, enumerator::fib, enumerator::lookahead, enumerator::obj, p, rb_gc_mark(), enumerator::size, and enumerator::stop_exc.
|
static |
Definition at line 159 of file enumerator.c.
References p.
Definition at line 729 of file enumerator.c.
References ary2sv(), enumerator_next_values(), and enumerator::obj.
Referenced by InitVM_Enumerator().
Definition at line 672 of file enumerator.c.
References enumerator_ptr(), get_next_values(), enumerator::lookahead, enumerator::obj, and Qundef.
Referenced by enumerator_next(), and InitVM_Enumerator().
Definition at line 803 of file enumerator.c.
References ary2sv(), enumerator_peek_values(), and enumerator::obj.
Referenced by InitVM_Enumerator().
Definition at line 736 of file enumerator.c.
References enumerator_ptr(), get_next_values(), enumerator::lookahead, enumerator::obj, and Qundef.
Referenced by enumerator_peek(), and enumerator_peek_values_m().
Definition at line 775 of file enumerator.c.
References enumerator_peek_values(), enumerator::obj, and rb_ary_dup().
Referenced by InitVM_Enumerator().
|
static |
Definition at line 174 of file enumerator.c.
References enumerator_data_type, enumerator::obj, Qundef, rb_eArgError, rb_raise(), and TypedData_Get_Struct.
Referenced by enumerator_block_call(), enumerator_each(), enumerator_feed(), enumerator_init_copy(), enumerator_next_values(), enumerator_peek_values(), enumerator_rewind(), enumerator_size(), lazy_set_method(), lazy_to_enum(), next_i(), next_ii(), and obj_to_enum().
Definition at line 860 of file enumerator.c.
References enumerator::dst, enumerator_ptr(), enumerator::feedvalue, enumerator::fib, id_rewind, enumerator::lookahead, enumerator::obj, Qfalse, Qnil, Qundef, rb_check_funcall(), and enumerator::stop_exc.
Referenced by InitVM_Enumerator().
Definition at line 973 of file enumerator.c.
References enumerator::args, enumerator_ptr(), enumerator::obj, Qnil, rb_obj_is_proc(), rb_proc_call(), rb_proc_call_with_block(), enumerator::size, and enumerator::size_fn.
Referenced by enumerator_with_index(), enumerator_with_object(), and InitVM_Enumerator().
Definition at line 489 of file enumerator.c.
References argc, argv, enumerator_block_call(), enumerator_size(), enumerator_with_index_i(), INT2FIX, NEW_MEMO, NIL_P, enumerator::obj, rb_scan_args(), rb_to_int(), and RETURN_SIZED_ENUMERATOR.
Referenced by enumerator_each_with_index(), and InitVM_Enumerator().
Definition at line 461 of file enumerator.c.
References argc, argv, rb_ary_new4(), rb_int_succ(), rb_yield_values(), RNode::u1, val, and RNode::value.
Referenced by enumerator_with_index().
Definition at line 555 of file enumerator.c.
References enumerator_block_call(), enumerator_size(), enumerator_with_object_i(), enumerator::obj, and RETURN_SIZED_ENUMERATOR.
Referenced by InitVM_Enumerator().
Definition at line 519 of file enumerator.c.
References argc, argv, rb_ary_new4(), rb_yield_values(), and val.
Referenced by enumerator_with_object().
Definition at line 1135 of file enumerator.c.
References generator_data_type, generator::proc, Qundef, and TypedData_Make_Struct.
Referenced by enumerator_initialize(), InitVM_Enumerator(), and lazy_initialize().
Definition at line 1212 of file enumerator.c.
References argc, args, argv, generator_ptr(), generator::proc, rb_ary_cat(), rb_ary_new2(), rb_ary_push(), rb_proc_call(), and yielder_new().
Referenced by InitVM_Enumerator().
Definition at line 1147 of file enumerator.c.
References generator_data_type, generator::proc, rb_eArgError, rb_raise(), and TypedData_Get_Struct.
Referenced by enumerator_initialize(), and generator_initialize().
Definition at line 1191 of file enumerator.c.
References generator_data_type, generator_ptr(), OBJ_INIT_COPY, generator::proc, rb_eArgError, rb_raise(), and TypedData_Get_Struct.
Referenced by InitVM_Enumerator().
Definition at line 1164 of file enumerator.c.
References argc, argv, generator_init(), generator::proc, rb_block_given_p(), rb_block_proc(), rb_eTypeError, rb_need_block(), rb_obj_classname(), rb_obj_is_proc(), rb_raise(), rb_scan_args(), and rb_warn().
Referenced by InitVM_Enumerator().
|
static |
Definition at line 1098 of file enumerator.c.
References p, generator::proc, and rb_gc_mark().
|
static |
Definition at line 1107 of file enumerator.c.
References p.
Definition at line 1122 of file enumerator.c.
References generator_data_type, generator::proc, Qundef, rb_eArgError, rb_raise(), and TypedData_Get_Struct.
Referenced by generator_each(), and generator_init_copy().
|
static |
Definition at line 600 of file enumerator.c.
References enumerator::dst, enumerator::feedvalue, enumerator::fib, enumerator::lookahead, next_init(), enumerator::obj, Qnil, Qundef, rb_exc_raise(), rb_fiber_alive_p(), rb_fiber_current(), rb_fiber_resume(), and enumerator::stop_exc.
Referenced by enumerator_next_values(), and enumerator_peek_values().
void Init_Enumerator | ( | void | ) |
Definition at line 1988 of file enumerator.c.
References ID2SYM, id_arguments, id_call, id_each, id_eqq, id_force, id_initialize, id_lazy, id_memo, id_method, id_new, id_next, id_receiver, id_result, id_rewind, id_size, id_to_enum, id_yield, InitVM, rb_intern, sym_cycle, and sym_each.
void InitVM_Enumerator | ( | void | ) |
Definition at line 1916 of file enumerator.c.
References enumerable_lazy(), enumerator_allocate(), enumerator_each(), enumerator_each_with_index(), enumerator_feed(), enumerator_init_copy(), enumerator_initialize(), enumerator_inspect(), enumerator_next(), enumerator_next_values(), enumerator_peek(), enumerator_peek_values_m(), enumerator_rewind(), enumerator_size(), enumerator_with_index(), enumerator_with_object(), generator_allocate(), generator_each(), generator_init_copy(), generator_initialize(), lazy_drop(), lazy_drop_while(), lazy_flat_map(), lazy_grep(), lazy_initialize(), lazy_lazy(), lazy_map(), lazy_reject(), lazy_select(), lazy_super(), lazy_take(), lazy_take_while(), lazy_to_enum(), lazy_zip(), obj_to_enum(), rb_cEnumerator, rb_cGenerator, rb_cLazy, rb_cObject, rb_cYielder, rb_define_alias(), rb_define_alloc_func(), rb_define_class(), rb_define_class_under(), rb_define_method(), rb_eIndexError, rb_eStopIteration, rb_include_module(), rb_mEnumerable, rb_mKernel, rb_provide(), stop_result(), yielder_allocate(), yielder_initialize(), yielder_yield(), and yielder_yield_push().
Definition at line 875 of file enumerator.c.
References argc, enumerator::args, argv, Check_Type, enumerator_data_type, id_arguments, id_method, id_receiver, enumerator::meth, NIL_P, enumerator::obj, OBJ_TAINT, OBJ_TAINTED, OBJ_UNTRUST, OBJ_UNTRUSTED, Qfalse, Qundef, RARRAY_LEN, RARRAY_PTR, rb_attr_get(), rb_id2name(), rb_inspect(), rb_obj_classname(), rb_sprintf(), rb_str_buf_cat2(), rb_str_concat(), recur, SYM2ID, T_SYMBOL, TRUE, and TypedData_Get_Struct.
Referenced by enumerator_inspect().
Definition at line 1814 of file enumerator.c.
References id_new, lazy_drop_func(), lazy_drop_size(), lazy_set_method(), NUM2LONG, enumerator::obj, rb_ary_new3(), rb_block_call(), rb_cLazy, rb_eArgError, and rb_raise().
Referenced by InitVM_Enumerator().
Definition at line 1797 of file enumerator.c.
References argc, args, argv, id_memo, id_yield, LONG2NUM, NIL_P, NUM2LONG, Qnil, rb_attr_get(), rb_funcall2(), and rb_ivar_set().
Referenced by lazy_drop().
Definition at line 1783 of file enumerator.c.
References FIX2LONG, FIXNUM_P, id_arguments, lazy_size(), LONG2FIX, LONG2NUM, NIL_P, NUM2LONG, RARRAY_PTR, rb_funcall(), and rb_ivar_get().
Referenced by lazy_drop().
Definition at line 1840 of file enumerator.c.
References id_new, lazy_drop_while_func(), lazy_set_method(), enumerator::obj, Qnil, rb_block_call(), rb_block_given_p(), rb_cLazy, rb_eArgError, and rb_raise().
Referenced by InitVM_Enumerator().
Definition at line 1827 of file enumerator.c.
References argc, argv, id_memo, id_yield, NIL_P, Qnil, Qtrue, rb_attr_get(), rb_funcall2(), rb_ivar_set(), rb_yield_values2(), and RTEST.
Referenced by lazy_drop_while().
Definition at line 1525 of file enumerator.c.
References id_new, lazy_flat_map_func(), lazy_set_method(), enumerator::obj, Qnil, rb_block_call(), rb_block_given_p(), rb_cLazy, rb_eArgError, and rb_raise().
Referenced by InitVM_Enumerator().
Definition at line 1459 of file enumerator.c.
References id_each, lazy_flat_map_i(), enumerator::obj, Qnil, and rb_block_call().
Referenced by lazy_flat_map_func().
Definition at line 1482 of file enumerator.c.
References argc, argv, i, id_each, id_force, id_yield, lazy_flat_map_each(), lazy_flat_map_to_ary(), Qnil, RARRAY_LEN, RARRAY_PTR, rb_funcall(), rb_respond_to(), RB_TYPE_P, rb_yield_values2(), result, and T_ARRAY.
Referenced by lazy_flat_map().
Definition at line 1453 of file enumerator.c.
References argc, argv, id_yield, and rb_funcall2().
Referenced by lazy_flat_map_each().
Definition at line 1466 of file enumerator.c.
References i, id_yield, NIL_P, enumerator::obj, Qnil, RARRAY_LEN, RARRAY_PTR, rb_check_array_type(), and rb_funcall().
Referenced by lazy_flat_map_func().
Definition at line 1607 of file enumerator.c.
References id_new, lazy_grep_func(), lazy_grep_iter(), lazy_set_method(), enumerator::obj, rb_ary_new3(), rb_block_call(), rb_block_given_p(), and rb_cLazy.
Referenced by InitVM_Enumerator().
Definition at line 1583 of file enumerator.c.
References argc, argv, i, id_eqq, id_yield, Qnil, rb_enum_values_pack(), rb_funcall(), result, and RTEST.
Referenced by lazy_grep().
Definition at line 1595 of file enumerator.c.
References argc, argv, i, id_eqq, id_yield, Qnil, rb_enum_values_pack(), rb_funcall(), rb_yield(), result, and RTEST.
Referenced by lazy_grep().
Definition at line 1272 of file enumerator.c.
References argc, argv, id_each, lazy_init_iterator(), Qnil, rb_block_call(), and val.
Referenced by lazy_initialize().
Definition at line 1246 of file enumerator.c.
References argc, args, argv, Qnil, Qundef, RARRAY_PTR, rb_ary_cat(), rb_ary_push(), rb_ary_tmp_new(), RB_GC_GUARD, rb_iter_break(), rb_long2int, rb_yield_values2(), result, and val.
Referenced by lazy_init_block_i().
Definition at line 1307 of file enumerator.c.
References argc, argv, enumerator_init(), generator_allocate(), id_initialize, id_receiver, lazy_init_block_i(), Qnil, rb_block_call(), rb_block_given_p(), rb_cGenerator, rb_check_arity, rb_eArgError, rb_ivar_set(), rb_raise(), size, and sym_each.
Referenced by InitVM_Enumerator().
Definition at line 1857 of file enumerator.c.
References enumerator::obj.
Referenced by InitVM_Enumerator().
Definition at line 1441 of file enumerator.c.
References id_new, lazy_map_func(), lazy_receiver_size(), lazy_set_method(), enumerator::obj, Qnil, rb_block_call(), rb_block_given_p(), rb_cLazy, rb_eArgError, and rb_raise().
Referenced by InitVM_Enumerator().
Definition at line 1432 of file enumerator.c.
References argc, argv, id_yield, Qnil, rb_funcall(), rb_yield_values2(), and result.
Referenced by lazy_map().
Definition at line 1240 of file enumerator.c.
References lazy_size().
Referenced by lazy_map(), and lazy_zip().
Definition at line 1571 of file enumerator.c.
References id_new, lazy_reject_func(), lazy_set_method(), enumerator::obj, Qnil, rb_block_call(), rb_block_given_p(), rb_cLazy, rb_eArgError, and rb_raise().
Referenced by InitVM_Enumerator().
Definition at line 1560 of file enumerator.c.
References argc, argv, id_yield, Qnil, rb_enum_values_pack(), rb_funcall(), rb_yield(), and RTEST.
Referenced by lazy_reject().
Definition at line 1548 of file enumerator.c.
References id_new, lazy_select_func(), lazy_set_method(), enumerator::obj, Qnil, rb_block_call(), rb_block_given_p(), rb_cLazy, rb_eArgError, and rb_raise().
Referenced by InitVM_Enumerator().
Definition at line 1537 of file enumerator.c.
References argc, argv, id_yield, Qnil, rb_enum_values_pack(), rb_funcall(), rb_yield(), and RTEST.
Referenced by lazy_select().
Definition at line 1329 of file enumerator.c.
References args, enumerator_ptr(), ID2SYM, id_arguments, id_method, NIL_P, Qfalse, rb_frame_this_func(), rb_ivar_set(), and enumerator::size_fn.
Referenced by lazy_drop(), lazy_drop_while(), lazy_flat_map(), lazy_grep(), lazy_map(), lazy_reject(), lazy_select(), lazy_take(), lazy_take_while(), and lazy_zip().
Definition at line 1234 of file enumerator.c.
References enum_size(), id_receiver, and rb_ivar_get().
Referenced by lazy_drop_size(), lazy_receiver_size(), and lazy_take_size().
Definition at line 1851 of file enumerator.c.
References argc, argv, enumerable_lazy(), and rb_call_super().
Referenced by InitVM_Enumerator().
Definition at line 1743 of file enumerator.c.
References id_new, INT2NUM, lazy_set_method(), lazy_take_func(), lazy_take_size(), lazy_to_enum_i(), NUM2LONG, enumerator::obj, rb_ary_new3(), rb_block_call(), rb_cLazy, rb_eArgError, rb_raise(), and sym_cycle.
Referenced by InitVM_Enumerator().
Definition at line 1714 of file enumerator.c.
References argc, args, argv, id_memo, id_yield, LONG2NUM, NIL_P, NUM2LONG, Qnil, Qundef, rb_attr_get(), rb_funcall2(), and rb_ivar_set().
Referenced by lazy_take().
Definition at line 1733 of file enumerator.c.
References FIX2LONG, FIXNUM_P, id_arguments, lazy_size(), LONG2NUM, NIL_P, NUM2LONG, RARRAY_PTR, and rb_ivar_get().
Referenced by lazy_take().
Definition at line 1772 of file enumerator.c.
References id_new, lazy_set_method(), lazy_take_while_func(), enumerator::obj, Qnil, rb_block_call(), rb_block_given_p(), rb_cLazy, rb_eArgError, and rb_raise().
Referenced by InitVM_Enumerator().
Definition at line 1763 of file enumerator.c.
References argc, argv, id_yield, Qnil, Qundef, rb_funcall2(), rb_yield_values2(), result, and RTEST.
Referenced by lazy_take_while().
Definition at line 1416 of file enumerator.c.
References argc, argv, enumerator_ptr(), lazy_to_enum_i(), enumerator::meth, rb_block_given_p(), rb_block_proc(), enumerator::size, and sym_each.
Referenced by InitVM_Enumerator().
|
static |
Definition at line 1386 of file enumerator.c.
References argc, argv, enumerator_allocate(), enumerator_init(), enumerator::meth, enumerator::obj, Qnil, rb_cLazy, and enumerator::size_fn.
Referenced by enumerable_lazy(), lazy_take(), lazy_to_enum(), and rb_enumeratorize_with_size().
Definition at line 1681 of file enumerator.c.
References argc, argv, func, i, id_each, id_new, lazy_receiver_size(), lazy_set_method(), lazy_zip_arrays_func(), lazy_zip_func(), NIL_P, enumerator::obj, rb_ary_new2(), rb_ary_new4(), rb_ary_push(), rb_block_call(), rb_block_given_p(), rb_call_super(), rb_check_array_type(), rb_cLazy, rb_eTypeError, rb_obj_classname(), rb_raise(), rb_respond_to(), and v.
Referenced by InitVM_Enumerator().
Definition at line 1629 of file enumerator.c.
References argv, count, i, id_memo, id_yield, LONG2NUM, NIL_P, NUM2LONG, Qnil, RARRAY_LEN, RARRAY_PTR, rb_ary_entry(), rb_ary_new2(), rb_ary_push(), rb_attr_get(), rb_funcall(), and rb_ivar_set().
Referenced by lazy_zip().
Definition at line 1649 of file enumerator.c.
References argc, argv, call_next(), i, id_memo, id_to_enum, id_yield, next_stopped(), NIL_P, Qnil, RARRAY_LEN, RARRAY_PTR, rb_ary_new2(), rb_ary_new4(), rb_ary_push(), rb_attr_get(), rb_eStopIteration, rb_funcall(), rb_ivar_set(), rb_rescue2(), and v.
Referenced by lazy_zip().
Definition at line 578 of file enumerator.c.
References enumerator_ptr(), id_each, id_result, next_ii(), enumerator::obj, Qnil, rb_block_call(), rb_eStopIteration, rb_exc_new2(), rb_fiber_yield(), rb_ivar_set(), result, and enumerator::stop_exc.
Referenced by next_init().
Definition at line 564 of file enumerator.c.
References argc, args, argv, enumerator_ptr(), enumerator::feedvalue, enumerator::obj, Qnil, Qundef, rb_ary_new4(), and rb_fiber_yield().
Referenced by next_i().
|
static |
Definition at line 591 of file enumerator.c.
References enumerator::dst, enumerator::fib, enumerator::lookahead, next_i(), enumerator::obj, Qundef, rb_fiber_current(), and rb_fiber_new().
Referenced by get_next_values().
Definition at line 241 of file enumerator.c.
References argc, argv, enumerator_ptr(), enumerator::meth, enumerator::obj, rb_block_given_p(), rb_block_proc(), rb_enumeratorize_with_size(), enumerator::size, and sym_each.
Referenced by InitVM_Enumerator().
Definition at line 398 of file enumerator.c.
References argc, argv, enumerator::meth, enumerator::obj, and rb_enumeratorize_with_size().
Referenced by argf_bytes(), argf_chars(), argf_codepoints(), argf_lines(), rb_gzreader_bytes(), rb_gzreader_lines(), rb_io_bytes(), rb_io_chars(), rb_io_codepoints(), rb_io_lines(), strio_bytes(), strio_chars(), strio_codepoints(), and strio_lines().
VALUE rb_enumeratorize_with_size | ( | VALUE | obj, |
VALUE | meth, | ||
int | argc, | ||
VALUE * | argv, | ||
VALUE(*)(ANYARGS) | size_fn | ||
) |
Definition at line 407 of file enumerator.c.
References argc, argv, enumerator_allocate(), enumerator_init(), lazy_to_enum_i(), enumerator::meth, enumerator::obj, Qnil, rb_cEnumerator, rb_cLazy, rb_obj_is_kind_of(), RTEST, and enumerator::size_fn.
Referenced by obj_to_enum(), and rb_enumeratorize().
Definition at line 1910 of file enumerator.c.
References id_result, and rb_attr_get().
Referenced by InitVM_Enumerator().
Definition at line 1030 of file enumerator.c.
References yielder::proc, Qundef, TypedData_Make_Struct, and yielder_data_type.
Referenced by InitVM_Enumerator(), and yielder_new().
Definition at line 1042 of file enumerator.c.
References yielder::proc, rb_eArgError, rb_raise(), TypedData_Get_Struct, and yielder_data_type.
Referenced by yielder_initialize(), and yielder_new().
Definition at line 1059 of file enumerator.c.
References rb_block_proc(), rb_need_block(), and yielder_init().
Referenced by InitVM_Enumerator().
|
static |
Definition at line 993 of file enumerator.c.
References p, yielder::proc, and rb_gc_mark().
|
static |
Definition at line 1002 of file enumerator.c.
References p.
|
static |
Definition at line 1089 of file enumerator.c.
References rb_cYielder, rb_proc_new(), yielder_allocate(), yielder_init(), and yielder_yield_i().
Referenced by generator_each().
Definition at line 1017 of file enumerator.c.
References yielder::proc, Qundef, rb_eArgError, rb_raise(), TypedData_Get_Struct, and yielder_data_type.
Referenced by yielder_yield().
Definition at line 1068 of file enumerator.c.
References args, yielder::proc, rb_proc_call(), and yielder_ptr().
Referenced by InitVM_Enumerator(), and yielder_yield_push().
Definition at line 1083 of file enumerator.c.
References argc, argv, and rb_yield_values2().
Referenced by yielder_new().
Definition at line 1076 of file enumerator.c.
References args, and yielder_yield().
Referenced by InitVM_Enumerator().
|
static |
Definition at line 164 of file enumerator.c.
Referenced by enumerator_allocate(), enumerator_init(), enumerator_init_copy(), enumerator_ptr(), and inspect_enumerator().
|
static |
Definition at line 1112 of file enumerator.c.
Referenced by generator_allocate(), generator_init(), generator_init_copy(), and generator_ptr().
|
static |
Definition at line 108 of file enumerator.c.
Referenced by Init_Enumerator(), inspect_enumerator(), lazy_drop_size(), lazy_set_method(), and lazy_take_size().
|
static |
Definition at line 107 of file enumerator.c.
Referenced by Init_Enumerator().
|
static |
Definition at line 107 of file enumerator.c.
Referenced by Init_Enumerator(), lazy_flat_map_each(), lazy_flat_map_func(), lazy_init_block_i(), lazy_zip(), and next_i().
|
static |
Definition at line 108 of file enumerator.c.
Referenced by Init_Enumerator(), lazy_grep_func(), and lazy_grep_iter().
|
static |
Definition at line 108 of file enumerator.c.
Referenced by Init_Enumerator(), and lazy_flat_map_func().
|
static |
Definition at line 107 of file enumerator.c.
Referenced by Init_Enumerator(), and lazy_initialize().
|
static |
Definition at line 108 of file enumerator.c.
Referenced by Init_Enumerator().
|
static |
Definition at line 108 of file enumerator.c.
Referenced by Init_Enumerator(), lazy_drop_func(), lazy_drop_while_func(), lazy_take_func(), lazy_zip_arrays_func(), and lazy_zip_func().
|
static |
Definition at line 108 of file enumerator.c.
Referenced by enumerable_lazy(), Init_Enumerator(), inspect_enumerator(), and lazy_set_method().
|
static |
Definition at line 107 of file enumerator.c.
Referenced by Init_Enumerator(), lazy_drop(), lazy_drop_while(), lazy_flat_map(), lazy_grep(), lazy_map(), lazy_reject(), lazy_select(), lazy_take(), lazy_take_while(), and lazy_zip().
|
static |
Definition at line 108 of file enumerator.c.
Referenced by call_next(), and Init_Enumerator().
|
static |
Definition at line 108 of file enumerator.c.
Referenced by Init_Enumerator(), inspect_enumerator(), lazy_initialize(), and lazy_size().
|
static |
Definition at line 108 of file enumerator.c.
Referenced by Init_Enumerator(), next_i(), and stop_result().
|
static |
Definition at line 107 of file enumerator.c.
Referenced by enumerator_rewind(), and Init_Enumerator().
|
static |
Definition at line 107 of file enumerator.c.
Referenced by enum_size(), and Init_Enumerator().
|
static |
Definition at line 107 of file enumerator.c.
Referenced by Init_Enumerator(), and lazy_zip_func().
|
static |
Definition at line 107 of file enumerator.c.
Referenced by Init_Enumerator(), lazy_drop_func(), lazy_drop_while_func(), lazy_flat_map_func(), lazy_flat_map_i(), lazy_flat_map_to_ary(), lazy_grep_func(), lazy_grep_iter(), lazy_map_func(), lazy_reject_func(), lazy_select_func(), lazy_take_func(), lazy_take_while_func(), lazy_zip_arrays_func(), and lazy_zip_func().
VALUE rb_cEnumerator |
Definition at line 105 of file enumerator.c.
Referenced by enum_chunk(), enum_slice_before(), InitVM_Enumerator(), and rb_enumeratorize_with_size().
|
static |
Definition at line 126 of file enumerator.c.
Referenced by enumerator_initialize(), InitVM_Enumerator(), and lazy_initialize().
VALUE rb_cLazy |
Definition at line 106 of file enumerator.c.
Referenced by InitVM_Enumerator(), lazy_drop(), lazy_drop_while(), lazy_flat_map(), lazy_grep(), lazy_map(), lazy_reject(), lazy_select(), lazy_take(), lazy_take_while(), lazy_to_enum_i(), lazy_zip(), and rb_enumeratorize_with_size().
|
static |
Definition at line 126 of file enumerator.c.
Referenced by InitVM_Enumerator(), and yielder_new().
VALUE rb_eStopIteration |
Definition at line 111 of file enumerator.c.
Referenced by InitVM_Enumerator(), lazy_zip_func(), next_i(), rb_f_loop(), and zip_i().
|
static |
Definition at line 109 of file enumerator.c.
Referenced by Init_Enumerator(), and lazy_take().
|
static |
Definition at line 109 of file enumerator.c.
Referenced by enumerable_lazy(), enumerator_initialize(), Init_Enumerator(), lazy_initialize(), lazy_to_enum(), and obj_to_enum().
|
static |
Definition at line 1007 of file enumerator.c.
Referenced by yielder_allocate(), yielder_init(), and yielder_ptr().