migrator / guava-libraries-3

Guava: Google Core Libraries for Java 1.6+
0 stars 0 forks source link

feature request: intersect method for RangeSet #25

Open migrator opened 9 years ago

migrator commented 9 years ago

[Via email, kevinb encouraged me to submit this request.]

RangeSet is great, and provides me with lots of useful capabilities. There is one fundamental, useful operation that's unexpectedly missing: intersect. There's a subRangeSet method, but it only operates on a single Range, not another RangeSet.

Since there is a union method (aka addAll), and a complement method, I should be able to cobble together an intersect method thus:

RangeSet intersect(RangeSet a, RangeSet b) { RangeSet inverse = TreeRangeSet.create(a.complement); inverse.addAll(b.complement()); return inverse.complement(); } Nonetheless, life would be simpler and more worry-free for all users if the API directly supported an intersect method. relevance: 2
migrator commented 9 years ago

summary: Not Defined

See also issue 1778, which addresses this use case but unfortunately has received no review or triage in two months.

status Not Defined creator: heue...@gmail.com created at: Aug 5, 2014

migrator commented 9 years ago

summary: Not Defined

I feel like if we were to do this, it should be a magic view method, which I think would be feasible, just somewhat tricky?

status Not Defined creator: lowas...@google.com created at: Aug 6, 2014

migrator commented 9 years ago

summary: Not Defined

The code referred to in issue 1778 has been open sourced under the LPGL version 3 or later license.

https://github.com/nmdp-bioinformatics/ngs/tree/master/range/src/main/java/org/nmdp/ngs/range/tree

status Not Defined creator: heue...@gmail.com created at: Sep 24, 2014