I would only include an inline class defintionm in a header file if it was

* small and time criticial
* a template definition

Otherwise you are slowing down the compilation of everything that includes that header, and start having to have extra #includes in the header (e.g., string.h above) to have extra dependencies.