C++ class to create an ordered map of pointers (wraps stl::vector and stl::map)