Nathan Myers wrote:
boost::extent_set<> implements a set of half-open ranges on a scalar type, with automatic splitting and merging, appropriate for managing ranges of disk blocks or video frames. In use it looks like:
Cool! Why "extent_set" though? What about range_set or interval_set? Any way this could be adapted to allow non-scalar ranges? What are the requirements on the range element type? I would think anything less-than-comparable should be useable but I didn't implement the class. :) Is there a way to control when ranges are combined (maybe sometimes I want [10, 20) and [20, 30) to stay separate)? A policy for this would be nice. -Dave -- "Some little people have music in them, but Fats, he was all music, and you know how big he was." -- James P. Johnson