Is this library freely available? It also sounds like a good addition to boost itself... -delfin
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of Martin Sent: Friday, June 03, 2005 4:22 AM To: boost-users@lists.boost.org Subject: [Boost-users] Re: lexical_cast
I have a library which allows you to do all kind of conversions like
to_string<string>(1234); to_string<wstring>(1234, &hex); to_string
>(10.25, make_tuple(&fixed, setprecision(1), setw (10))); to_string<string>(1234, locale::classic()); to_string_classic<wstring>(1234); // same as above but with non-stream specializations for int (planning to add double) from_string<int>(str); from_string<double>(str, -5); // return -5 on error from_string<double>(str, &hex); from_string<int>(str, &noskipws, std::locale("German"), 0); from_string_classic<int>(str);
If you have many conversions you can increase preformance by reusing the stream.
basic_tofrom_string<string> conv(make_tuple(setprecision(2), &fixed), locale::classic());
conv.to_string(1234, &hex); conv.to_char(1.234, setw(10)); // avoid copying result to std::string conv.from_string<double>(str, 0.0);
All conversion routines uses a home-made streambuffer with optimizations to avoid copying and memory allocations (e.g. small string optimization & buffer reuse).
Main benefit over lexical_cast is that you can control formatting & locale but performance is also much better due to less memory alllocations.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users