map_iterator class