NightOwl888 commented on issue #279: URL: https://github.com/apache/lucenenet/issues/279#issuecomment-2455626799
## DocIdSetIterator I tried to convert this a while back and I pretty much came to the conclusion it is better the way that it is. The main issue was the `DocsAndPositionsEnum` which seemed to be able to switch between enumerating docs and enumerating positions (although I found no such switching anywhere in the code, so maybe that is an invalid assumption. ## CharArrayIterator This technically has no purpose in .NET. They were used in Java to potentially fix bugs in BreakIterators in broken JREs. There is at least 1 other implementation of `CharacterIterator` that is also completely useless in .NET. ## BreakIterator Technically, `BreakIterator` was an interface in the JDK and the design in ICU4J is an "improved" design that does not subclass it. In .NET, we merged them into one thing because the BCL is missing anything like `BreakIterator`. In any case, the design needs rework to be compatible with `ReadOnlySpan<char>` because `CharacterIterator` wraps the `chars[]` and `BreakIterator` wraps `CharacterIterator`. My thought is to add a seam so the rules engine can be used without the rest of the design and then it would be possible to create a `ValueBreakIterator` ref struct. But it is tricky because the purpose of the `CharacterIterator` piece is to allow input as `UTF-8` without changing the rest of the design and working out a way to make a more optimized design extensible requires some thought. Ideally, `CharacterIterator` would be eliminated completely. Anyway, that does mean it is not related to this project. ------------------------------------ However, looking at the commit history, it looks like there was some work on this earlier this year (May 7) that is still on one of my branches. I don't know whether that work has been merged yet. This will need to be reviewed before we can close this. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@lucenenet.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org