I did a search for this question thinking that somebody must have asked it before. I did not turn up any results, so if it has been, please post the link and feel free to cl
In C++0x, you can specify the underlying type for the enum. In this case, it will be size_type.
size_type
(And it may be supported as an extension in other places prior to C++0x, obviously.)