-
Notifications
You must be signed in to change notification settings - Fork 6
Description
I am building an application that generates new FST objects every hour. I would like to be able to do efficient range operations over a group of these FST files. Conceptually, something like combining the __getitem__
implementation with the OpBuilder
. Basically, returning a KeyStreamIterator
for multiple Set
objects' range operation (pseudo code:
s1 = Set.from_iter(["bar", "baz", "foo", "moo"])
s2 = Set.from_iter(["bing", "jar, "foo", "moo"])
s2 = Set.from_iter(["bap", "bonk, "foo", "moo"])
(s1 + s2 + s3)["b":"f"]
The existing API seems cumbersome for doing operations across multiple. You have to pick a (possibly arbitrary) instance, then call .union
/ .intersection
etc with the rest of the objects. Would it be possible to have some sort of MultiSet
class that could perform efficient calls across multiple Set
objects?
I can take a crack at implementing it; it appears the underlying Rust API would support this.