diff options
| author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-08-19 16:36:00 +0000 |
|---|---|---|
| committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-08-19 16:36:00 +0000 |
| commit | 11f6a02cd597790689aafa438dc6881c6062d05b (patch) | |
| tree | ace672ab48d817ca1927ee8660859cdb2308da2c /transcode_data.h | |
| parent | e70c0f6831be4a546099daadcdbb795c84112cf0 (diff) | |
| download | ruby-11f6a02cd597790689aafa438dc6881c6062d05b.tar.gz ruby-11f6a02cd597790689aafa438dc6881c6062d05b.tar.xz ruby-11f6a02cd597790689aafa438dc6881c6062d05b.zip | |
* enumerator.c: implement Enumerator#{next_values,peek_values,feed}
and StopIteration#result. [ruby-dev:39109]
(struct enumerator): replace no_next by stop_exc.
new field feedvalue.
(enumerator_mark): mark feedvalue and stop_exc.
(enumerator_init): initialize feedvalue and stop_exc.
(enumerator_init_copy): initialize feedvalue.
(next_ii): send yield arguments as an array. return feedvalue.
(next_i): generate StopIteration exception here. set result.
(next_init): initialize feedvalue.
(enumerator_next_values): new method Enumerator#next_values.
(ary2sv): new function.
(enumerator_peek_values): new method Enumerator#peek_values.
(enumerator_feed): new method Enumerator#feed.
(yielder_yield): return the yield value.
(generator_each): return the iterator value.
(stop_result): new method StopIteration#result.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'transcode_data.h')
0 files changed, 0 insertions, 0 deletions
