Having trouble compiling interval_map

Hi, I'm trying to implement an interval map where the keys are close_interval<long> an the values are set<string>. I modified the party example according to my needs, and came up with this short code: #include <boost/icl/interval.hpp> #include <boost/icl/interval_map.hpp> #include <boost/compressed_pair.hpp> using namespace std; using namespace boost::icl; typedef std::set<string> ids; int main(int argc, char* argv[]) { ids ids1; ids1.insert("T1"); ids ids2; ids2.insert("T2"); interval_map<closed_interval<long>, ids> mymap; closed_interval<long> i1 = closed_interval<long>(2, 7); closed_interval<long> i2 = closed_interval<long>(3, 8); mymap.insert(std::pair<closed_interval<long>, ids>(i1,ids1)); mymap.insert(std::pair<closed_interval<long>, ids>(i2,ids2)); return 0; } However, I get this compilation error: call of overloaded ‘insert(std::pair<boost::icl::closed_interval<long int>, std::set<std::basic_string<char> > >)’ is ambiguous mymap.insert(std::pair<closed_interval<long>, ids>(i2,ids2)); This is after getting compiation errors trying ti use: mymap += make_pair(i1,ids1); Any idea what's wrong?
participants (1)
-
Daniel Rubi