bug fix std::map lower_bound return the >= val iterator