12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- namespace Invercargill {
- public abstract class StickyPromotion<T, TPromotion> : EnumerableProxy<T>, Promotion<T> {
- public abstract Enumerable<T> wrap(Enumerable<T> enumerable);
- protected abstract Enumerable<T> new_wrap(Enumerable<T> enumerable);
- public abstract bool can_wrap(GLib.Type element_type);
- public new TPromotion where(owned PredicateDelegate<T> predicate) {
- return (TPromotion)new_wrap(inner.where((owned)predicate));
- }
-
- public new TPromotion sort(owned CompareDelegate<T> compare) {
- return (TPromotion)new_wrap(inner.sort((owned)compare));
- }
-
- public new TPromotion concat(Enumerable<T> other) {
- return (TPromotion)new_wrap(inner.concat(other));
- }
-
- public new TPromotion take(int count) {
- return (TPromotion)new_wrap(inner.take(count));
- }
-
- public new TPromotion skip(int count) {
- return (TPromotion)new_wrap(inner.skip(count));
- }
-
- public new TPromotion with(T item, uint times = 1) {
- return (TPromotion)new_wrap(inner.with(item, times));
- }
-
- public new TPromotion seal() {
- return (TPromotion)new_wrap(inner.seal());
- }
- public new TPromotion cache() {
- return (TPromotion)new_wrap(inner.cache());
- }
- public new TPromotion act(ItemDelegate<T> handler) {
- return (TPromotion)new_wrap(inner.act(handler));
- }
- public new TPromotion debug_trace(owned TransformDelegate<T, string> stringifier, string additional_message = "", owned DebugOutputDelegate? output_func = null, bool formatting = true) {
- return (TPromotion)new_wrap(new TraceEnumerable<T>(this, get_info(), (owned)stringifier, additional_message, (owned)output_func, formatting));
- }
- public new TPromotion debug_type(string additional_message = "", DebugOutputDelegate? output_func = null, bool formatting = true) {
- DebugPrinter.print_enumerable_information(get_info(), additional_message, output_func, formatting);
- return (TPromotion)wrap(inner);
- }
- }
- }
|