A C++11 data structure allowing compact storage for a union of intervals