
"Maxim Yegorushkin" <e-maxim@yandex.ru> wrote
In generic code lexical_cast<> is sometimes used as a cast to the same type. I would like to shortcut this rather then going all the way by writing it to a stream and reading back. In my code I use the following workaround:
template<class U, class T> inline typename boost::disable_if<boost::is_same<T, U>, U>::type lexical_cast(T const& t) { return boost::lexical_cast<U>(t); }
template<class T> inline T const& lexical_cast(T const& t) { return t; }
Does it make any sense to put it in lexical_cast.hpp?
Unless somebody already started using it to get the first token from a string, like: boost::lexical_cast<string>(string("I am a string with spaces")); // now returns just "I" OTOH, the code like this probably deserves to be broken :) Arkadiy