package xapi.fu; /** * Created by James X. Nelson (james @wetheinter.net) on 7/31/16. */ public interface MappedIterable<T> extends Iterable<T> { default <To> MappedIterable<To> map(In1Out1<T, To> mapper) { return mapIterable(this, mapper); } static <From, To> MappedIterable<To> mapIterable(Iterable<From> from, In1Out1<From, To> mapper) { return ()->new MappedIterator<>(from.iterator(), mapper); } }