I require a container for (key,value)-pairs allowing two actions:
* insertion of new entries in the container,
* removing of an entry with the smallest key
Keys will not necessarily be unique.
A multimap will allow those two actions so I could use it for my purposes. My question is whether it is the most efficient container when only those two actions need to be performed? Are there other possibilities?
Don't concern yourself with efficiency until you have profiled your code and found a bottleneck. Choose the method that works the best, and then later if it is the bottleneck you can replace it with something faster.
Anyone entry with the smallest key can be removed, this does not need to be specified.
This is about a load balancing application: The key is the load, the mapped value the number of a process. Some process with the smallest load so far should get assigned the next task.