Commit Graph

10 Commits (4b32c18f70a8ed8f45e5853a3cac9a59e1470921)

Author SHA1 Message Date
whitequark 4b32c18f70 Rename Yielder::generate to Yielder::suspend.
This makes more sense, because "generate" implies *running*
a generator, not *returning* from a generator. That name was
a vestige of the time when libfringe only really provided a .next()
implementation, which made marginally more sense together with
.generate(), but it doesn't anymore when we have .resume().
2016-08-30 12:20:34 -04:00
edef f21b8dc936 Update the license headers for MIT/Apache 2016-08-20 23:45:01 +02:00
whitequark d4b7c427c9 impl Iterator for Generator<Input=()>. 2016-08-13 13:38:04 +02:00
whitequark ddbf9a5afe Reimplement Generator to pass both input and output values around. 2016-08-13 13:38:04 +02:00
whitequark 308df32ac2 Use a more semantically correct PhantomData field in Generator. 2016-08-13 13:38:04 +02:00
whitequark a5d3430e63 Make Generator safe in presence of destructors. 2016-08-13 13:38:04 +02:00
edef bb699c0f6e Allow inlining Generator::state 2016-08-13 12:52:12 +02:00
whitequark 15d2fbaf51 Add an inline hint on Generator::next().
This improves the generate benchmark by about 1ns.
2016-07-17 13:56:03 -04:00
whitequark 16c674b4f4 Implement the GuardedStack marker trait. 2016-07-17 13:56:03 -04:00
whitequark 7ffad26cfd Implement the safe Generator abstraction.
close #24
2016-07-17 13:55:56 -04:00