
"Arkadiy Vertleyb" <vertleyb@hotmail.com> writes:
"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"
I can think of other uses. You might lexical_cast T->T in order to normalize the value somehow. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com