Transform.vala 520 B

12345678910111213141516
  1. namespace Invercargill {
  2. private class TransformQuery<Tin, Tout> : BaseQuery<Tin, Tout> {
  3. private TransformDelegate<Tin, Tout> transform_func;
  4. public TransformQuery(Enumerable<Tin> input, TransformDelegate<Tin, Tout> transform) {
  5. this.input = input;
  6. transform_func = x => transform(x);
  7. }
  8. public override bool iterate_if (Invercargill.PredicateDelegate<Tout> handler) {
  9. return input.iterate_if(i => handler(transform_func(i)));
  10. }
  11. }
  12. }