| 12345678910111213141516171819202122232425262728293031 |
- namespace Invercargill {
- public interface Elements : Enumerable<Element>, Sticky<Elements, Element> {
- public virtual Enumerable<T> elements_as<T>() {
- return select_where<T>((e, out r) => e.try_get_as<T>(out r));
- }
- public virtual Enumerable<T> assert_elements_as<T>() {
- return select<T>(e => e.assert_as<T>());
- }
- }
- private class ElementsPromotionImplementation : StickyProxyPromotion<Elements, Element>, Sticky<Elements, Element>, Elements {
- protected override Elements adhere (Enumerable<Element> enumerable) {
- return (Elements)new ElementsPromotionImplementation().wrap(enumerable);
- }
- protected override Elements passthrough () {
- return this;
- }
- public override bool can_wrap (GLib.Type element_type) {
- return element_type.is_a (typeof(Element));
- }
- }
- }
|