Also, change its return type to size_t to match the return types of
its callers.
With this change, std::vector and std::list data formatter tests
pass on Linux (when using libstdc++) with clang as well as with gcc.
These tests have also been enabled in this patch.
I think the preprocessor directives should be aligned to column 0, not to the current level of indentation. Same goes for later in the function.