
So what? Those stack types are free to reference global data. And in the case of stringstream, in combination with operators<< and operator>>, they most certainly do access global data in the form of locales and facets.
Sure, I wanted to clear that out :) Well again, please show me in the lexical_cast documentation the line that
indicates that it is a 'thread-safe' operation. You won't find it because it isn't. You have the issues of both the internal implementation and the types being converted to/from (eg: string) using global data in their implementation. Since lexical_cast is generic, it has no way of controlling the thread safety of user defined types and their associated operator>> and operator<<.
I never said lexical_cast was thread safe :) I've heard on some compilers you can tell the stdlib to be threadsafe tho. Thank you for your explanations. Philippe