std::vector has no particular feature regarding inserting elements at the front, unlike some other containers. The functionality provided by each container makes sense for that container.
You probably should be using a
std::deque, which is explicitly good at inserting at the front and back.
Check this diagram out.