Use std::set instead of std::map