| 123456789101112131415161718192021222324 |
- namespace Invercargill.Modifiers {
- public class Reverse<T> : Enumerable<T> {
- private Enumerable<T> input;
- public Reverse(Enumerable<T> input) {
- this.input = input;
- }
- public override uint? peek_count() {
- return input.peek_count();
- }
- public override EnumerableInfo get_info() {
- return new EnumerableInfo.infer_single(this, EnumerableCategory.COMPUTED, input);
- }
- public override Tracker<T> get_tracker() {
- var items = input.to_immutable_buffer();
- return Iterate.range((int)items.length - 1, -1, -1).select<T>(i => items.get_or_default(i)).get_tracker();
- }
- }
- }
|