id summary reporter owner description type status milestone component version severity resolution keywords cc 5561 error on calculating interval_map intersection denis@… Joachim Faulhaber "here is the test case, reproducible with boost 1.46.1 and the today trunk. {{{ #include #include #include #include int main() { typedef boost::icl::interval_map> I1; I1 i(std::make_pair(0, 100)), j(std::make_pair(0, 200)); std::cout << i << std::endl; // {([0,0]->{[100,100]})} std::cout << j << std::endl; // {([0,0]->{[200,200]})} std::cout << (i+j) << std::endl; // {([0,0]->{[100,100][200,200]})} std::cout << (i-j) << std::endl; // {([0,0]->{[100,100]})} std::cout << (i&j) << std::endl; // {} assert((i&j).empty()); // suppose to work same way as the test above typedef boost::icl::interval_map> I2; I2 k(std::make_pair(0, std::make_pair(100, 1))), l(std::make_pair(0, std::make_pair(200, 1))); std::cout << k << std::endl; // {([0,0]->{([100,100]->1)})} std::cout << l << std::endl; // {([0,0]->{([200,200]->1)})} std::cout << (k+l) << std::endl; // {([0,0]->{([100,100]->1)([200,200]->1)})} std::cout << (k-l) << std::endl; // {([0,0]->{([100,100]->1)})} std::cout << (k&l) << std::endl; // {([0,0]->{([100,100]->1)([200,200]->1)})} while expecting {} assert((k&l).empty()); } }}}" Bugs closed Boost 1.47.0 ICL Boost 1.46.1 Problem invalid