I think it is possible to solve by adding new overload of Add (and perhaps also similar one for Set):
void Add(int n, const Value& value) { Add(Value(n), value); }
Mirek, what do you think? I'm not familiar enough with the Value * internals, so I can't really tell if it breaks anything else
Honza
Agreed. It is not the most elegant solution, but if we want to be able to use ValueMap directly with Id and SqlId keys, it is probably the only possible solution...