Libraryless. Click here for Pure Java version (2024L/13K).
static <A> ItIt<A> roundRobinCombinedIterator(Iterator<A>... iterators) { ret roundRobinCombinedIterator(wrapAsList(iterators)); } static <A> ItIt<A> roundRobinCombinedIterator(Cl<? extends Iterator<A>> iterators) { if (empty(iterators)) ret emptyItIt(); class Robin implements IF0 { L<? extends Iterator<A>> activeIterators = cloneList(iterators); int i; public O get() { while licensed { Iterator<A> it = activeIterators.get(i); if (!it.hasNext()) { activeIterators.remove(i); if (empty(activeIterators)) break; i %= l(activeIterators); } else { i = (i+1) % l(activeIterators); ret it.next(); } } ret endMarker(); } } ret iff(new Robin); }
download show line numbers debug dex old transpilations
Travelled to 7 computer(s): bhatertpkbcr, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tvejysmllsmz, vouqrxazstgt, xrpafgyirdlv
No comments. add comment
Snippet ID: | #1024857 |
Snippet name: | roundRobinCombinedIterator |
Eternal ID of this version: | #1024857/9 |
Text MD5: | ffa0cc33493e610b7e5ee3b5d19064cb |
Transpilation MD5: | 798f80a9b0c7c0d1bc23b24fa64a5202 |
Author: | stefan |
Category: | javax / chess ocr |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2019-08-29 13:08:21 |
Source code size: | 804 bytes / 28 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 260 / 384 |
Version history: | 8 change(s) |
Referenced in: | #1006654 - Standard functions list 2 (LIVE, continuation of #761) |