handful and interval
Sven Torvinger
Sven at torvinger.se
Sun Sep 2 22:14:12 PDT 2012
On Monday, 3 September 2012 at 04:56:54 UTC, Jonathan M Davis
wrote:
>
> It could take a std.aglorithm.openRight as its third,
> parameter, then you
> could choose to do one or the other. It just becomes a question
> of which is
> the default.
>
> Certainly, my natural inclination is to go with having
> intervals be open on
> the right, but if you have a choice, it's less of an issue
> regardless of which
> is the default.
>
> - Jonathan M Davis
http://www.boost.org/doc/libs/1_51_0/libs/icl/doc/html/index.html
Recently at work, I was quite pleasantly surprised by the boost
solution... it solves a number of problems quite elegantly,
different policies for handling overlapping ranges and etc... and
found myself wishing for the same in D.
ex.
typedef std::set<string> guests;
interval_map<time, guests> party;
party += make_pair(interval<time>::right_open(time("20:00"),
time("22:00")), guests("Mary"));
party += make_pair(interval<time>::right_open(time("21:00"),
time("23:00")), guests("Harry"));
// party now contains
[20:00, 21:00)->{"Mary"}
[21:00, 22:00)->{"Harry","Mary"} //guest sets aggregated on
overlap
[22:00, 23:00)->{"Harry"}
More information about the Digitalmars-d
mailing list