Esempio n. 1
0
VALUE
rb_enumeratorize_with_size(VALUE obj, VALUE meth, int argc, VALUE *argv, rb_enumerator_size_func *size_fn)
{
    /* Similar effect as calling obj.to_enum, i.e. dispatching to either
       Kernel#to_enum vs Lazy#to_enum */
    if (RTEST(rb_obj_is_kind_of(obj, rb_cLazy)))
	return lazy_to_enum_i(obj, meth, argc, argv, size_fn);
    else
	return enumerator_init(enumerator_allocate(rb_cEnumerator),
			       obj, meth, argc, argv, size_fn, Qnil);
}
Esempio n. 2
0
VALUE
rb_enumeratorize(VALUE obj, VALUE meth, int argc, VALUE *argv)
{
    return enumerator_init(enumerator_allocate(rb_cEnumerator), obj, meth, argc, argv);
}
Esempio n. 3
0
static VALUE
lazy_to_enum_i(VALUE obj, VALUE meth, int argc, VALUE *argv, rb_enumerator_size_func *size_fn)
{
    return enumerator_init(enumerator_allocate(rb_cLazy),
			   obj, meth, argc, argv, size_fn, Qnil);
}
Esempio n. 4
0
VALUE
rb_enumeratorize(VALUE obj, SEL sel, int argc, VALUE *argv)
{
    return enumerator_init(enumerator_allocate(rb_cEnumerator, 0), obj, sel,
	    argc, argv);
}