Why can't you use this for the comparison operator:
bool operator<(const interval& x, const interval& y)
{
if x.min < y.min return true;
if x.min > y.min return false;
return x_max < y.max;
}