I'm writing a set of pure virtual classes that act as interfaces. The idea is that the code implementing such interfaces could be built with a different build configuration, compiler, or even a different STL implementation to code making use of such an object via such an interface.
Plain old data like uint32_t is standardised as is double and float. (bool is not since the standard does not state its size.)
Which category does std::size_t come in? Is it purely a function of the machine architecture? For example, on a 32 bit machine, could it ever be such that sizeof(std::size_t) is not 4?
 
     
    