Libraryless. Click here for Pure Java version (2648L/17K).
sclass CCI_Substring extends CharacterClassIterator { S s; int i, l; CharacterClassIterator next; *() {} *(S *s, int start, int end, CharacterClassIterator *next) { i = start; l = end; } // no check because of method contract CharacterClassIterator acceptChar(char c) { ret ++i >= l && next != null ? next : this; } bool canEndHere() { ret i >= l; } bool canAcceptChar(char c) { ret i < l && s.charAt(i) == c; } Cl<Char> acceptedChars() { ret i >= l ? null : ll(s.charAt(i)); } CharRange acceptedCharRange() { ret i >= l ? null : singletonCharRange(s.charAt(i)); } CharacterClassIterator cloneCCI() { ret new CCI_Substring(s, i, l, next); } }
Began life as a copy of #1029557
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: | #1029558 |
Snippet name: | CCI_Substring - CharacterClassIterator accepting a substring, then forwarding to a follow-up iterator |
Eternal ID of this version: | #1029558/6 |
Text MD5: | c9d0d6af98ff0f3f5fa1262fda186eec |
Transpilation MD5: | 196c40ab16ec24175756200219c10d7a |
Author: | stefan |
Category: | javax |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2020-08-23 12:54:23 |
Source code size: | 745 bytes / 31 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 187 / 271 |
Version history: | 5 change(s) |
Referenced in: | #1029560 - CCI_Choice - CharacterClassIterator branching out depending on next char #1029561 - CCI_End #1029562 - CCI_SingleChar - CharacterClassIterator accepting a single character, then forwarding to a follow-up iterator |