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

Reply via email to