Commit Graph

253 Commits

Author SHA1 Message Date
Stephen Kelly
472ebeff30 Simplify multi-component ifdefs containing BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
[SVN r86248]
2013-10-11 23:20:59 +00:00
Stephen Kelly
13f14db751 lexical_cast: Remove obsolete GCC version check.
[SVN r86113]
2013-10-01 08:47:00 +00:00
Stephen Kelly
8a49514506 cast: Remove obsolete MSVC version check.
[SVN r86026]
2013-09-30 00:18:40 +00:00
Stephen Kelly
c8bd860de6 Remove obsolete MSVC check from pragma guard
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq

is now clean.

[SVN r85952]
2013-09-26 13:02:51 +00:00
Antony Polukhin
701963d3c4 lexical_cast.hpp improvements: fix bug with floats conversions and improve docs (refs #9046)
[SVN r85852]
2013-09-23 11:59:06 +00:00
Antony Polukhin
ce7a54af7f Minor update of lexical cast before fixing mingw issues (refs #9046)
[SVN r85830]
2013-09-22 16:06:45 +00:00
Antony Polukhin
c359ed53b2 Fix unused parameter warning (fix #9106)
[SVN r85683]
2013-09-15 19:28:36 +00:00
Antony Polukhin
47041de63a lexical_cast.hpp improvements: interpreter was split to input and output streams to reduce size of binaries and improve compilation times, fixed typo from previous commit (refs #9046)
[SVN r85528]
2013-08-30 14:37:32 +00:00
Antony Polukhin
c58a55a512 lexical_cast.hpp improvements: more comments, BOOST_NOEXCEPT and const; parser_buf moved to boost/detail/basic_pointerbuf.hpp, better formatting and simplified type traits (refs #9046)
[SVN r85523]
2013-08-30 08:59:59 +00:00
Antony Polukhin
dd165b4b0f lexical_cast.hpp improvements: no more const_casts, much shorter and better template specializations, some code formatting fixes (refs #9046)
[SVN r85513]
2013-08-29 15:35:02 +00:00
Antony Polukhin
b5552e351c lexical_cast.hpp improvements: better overflow detections for float conversions, more const modifiers (refs #9046)
[SVN r85512]
2013-08-29 11:41:28 +00:00
Antony Polukhin
297b115e6c lcast_put_unsigned in lexical_cast.hpp header is refactored, duplicate code removed (refs #9046)
[SVN r85499]
2013-08-28 12:55:09 +00:00
Antony Polukhin
a2299ec1f9 Fix bug introduced by previous commits during conversion of wide character to wide character. Remove duplicate code and add more comments for lcast_ret_unsigned method. Optimize and simplify overflow detection (refs #9046)
[SVN r85486]
2013-08-27 14:23:19 +00:00
Antony Polukhin
bf551ad8c9 Delay character trait extraction (refs #9046)
[SVN r85483]
2013-08-27 07:51:27 +00:00
Antony Polukhin
fac805ddf6 Improved some of the metaprogramming methods (refs #9046)
[SVN r85482]
2013-08-27 07:07:15 +00:00
Antony Polukhin
3ce36a2848 Get rid of some macro, improve type traits, fix svn properties, do not supress warnings (refs #9046)
[SVN r85475]
2013-08-26 11:18:42 +00:00
Antony Polukhin
6bd8edfa02 Do not treat critcal errors as bad_lexical_cast exceptions, but if exceptions are on throw correct exception instead (refs #8966)
[SVN r85232]
2013-08-07 11:08:01 +00:00
Antony Polukhin
5f44bdcae8 Fix warnings in lexical_cast found by Boost Inspection program (copyrights restored according to svn history, license text replaced with license name and link to it)
[SVN r85149]
2013-07-24 08:46:08 +00:00
Antony Polukhin
a65fcf571f Get rid of BOOST_LCAST_HAS_INT128 macro and use BOOST_HAS_INT128 instead (refs #8790)
[SVN r85073]
2013-07-18 09:13:41 +00:00
Antony Polukhin
13d98f02d0 Fixed testing of 128bit integer types and added staic assert that cheks for std::numeric_limits specializations, if they are required for conversion (refs #8790)
[SVN r85072]
2013-07-18 08:45:09 +00:00
Antony Polukhin
f7bd5e24c2 Fix macro for int128 detection (refs #8790)
[SVN r84965]
2013-07-07 09:51:58 +00:00
Antony Polukhin
c3c44c208a Fix for GCC-4.8 warning (refs #8547)
[SVN r84136]
2013-05-04 12:48:26 +00:00
Antony Polukhin
ab0727fdac Fix streams and buffers usage (refs #8267 and refs #7704). Now conversions the use STL streams shall work faster
[SVN r83642]
2013-03-30 07:20:22 +00:00
Antony Polukhin
633b852b81 Update code that uses string buffers (refs #8267).
Treat cast to pointer as compile time error (refs #8334).
Update documentation

[SVN r83601]
2013-03-27 17:00:46 +00:00
Antony Polukhin
9fc1a66d27 Reimplement STL string buffer unlocker (refs #8267 and refs #7704)
[SVN r83543]
2013-03-24 15:26:45 +00:00
Antony Polukhin
61938bc8d3 Fix ambiguity while using lexical_cast with std::transform or other functions that may take a pointer to lexical_cast (refs #7421)
[SVN r83457]
2013-03-16 09:24:08 +00:00
Antony Polukhin
694f7b5033 Do not use long double type in lexical_cast for internal variables if Boost.Math has no functions for long double (refs #8162)
Do not test lexical_cast on long doubles, if Boost.Math does not support long double

[SVN r83129]
2013-02-24 13:34:57 +00:00
Antony Polukhin
a15dbed640 Silence some buggy VS warnings (refs #7949)
[SVN r82807]
2013-02-10 13:59:45 +00:00
Antony Polukhin
5c8c897d30 Fixed as many -Wconversion warnings in lexical cast and tests as possible (refs #2558)
[SVN r82695]
2013-02-03 09:20:28 +00:00
Antony Polukhin
47bef9517f Attempt to add support for lexical conversions of int128 types (refs #7909)
[SVN r82560]
2013-01-20 12:13:31 +00:00
Antony Polukhin
63b680c082 More strict tests, less workarounds, bugfixes (refs #7814)
[SVN r82227]
2012-12-27 20:17:09 +00:00
Antony Polukhin
4ad6f1bd4b FIx bug in conversion of some std::array implementations (refs #7799)
[SVN r82172]
2012-12-22 18:42:04 +00:00
Antony Polukhin
5a6309db7a Fix incorrect macro usage (refs #7799)
[SVN r82017]
2012-12-16 09:01:18 +00:00
Marshall Clow
82969ebb20 Remove usage of deprecated macros
[SVN r81551]
2012-11-26 14:14:10 +00:00
Antony Polukhin
2ea7487806 Move all the stream specific metafunctions to lexical_cast_stream_traits<Source, Target>
Test stream traits for correctness and correct optimization detection

[SVN r81354]
2012-11-15 07:26:23 +00:00
Antony Polukhin
1c37887f2b Stream type detection metafunctions were rewritten so that now they can detect stream type for user defined types (refs #6786)
Removed unrequired `::` 

[SVN r81278]
2012-11-10 07:42:04 +00:00
Antony Polukhin
824fbd9b06 Do not overload lexical_cast<To, From>(const From&), instead add lexical_cast<To>(character_type,size_type) templates (refs #7421). Added tests for getting &boost::lexical_cast<To,from> functions pointers
[SVN r80715]
2012-09-26 19:57:31 +00:00
Antony Polukhin
c290a26625 Added missing const modifier
[SVN r80374]
2012-09-03 17:06:40 +00:00
Antony Polukhin
d08477900d Added lexical_cast(const CharType* chars, std::size_t count) function overload (refs #6430 and refs #6663)
Fixed GCC warning in numeric_cast_test.cpp

[SVN r80291]
2012-08-28 20:31:16 +00:00
Antony Polukhin
63acf4f174 Fix compilation of lexical cast with MSVC 2003 (refs #7255)
[SVN r80210]
2012-08-25 19:07:46 +00:00
Antony Polukhin
ce95319f03 Multiple small changes:
1) #warning replaced with #error (refs 7228)
2) Pavel Korzh added to thanks list (refs 7157)
3) BOOST_NOEXCEPT modifiers added where possible
4) better support for c++11 Unicode characters
5) fixed compilation with MSVC+STLPort
6) more agressive usage of Traits template parameter

[SVN r80105]
2012-08-21 04:44:00 +00:00
Antony Polukhin
d6a72e9ea5 Fix bug with volatile types (refs #7157)
[SVN r79797]
2012-07-29 18:54:24 +00:00
Antony Polukhin
3c94791b1e Workaround VC warning (refs #7116)
[SVN r79565]
2012-07-16 17:17:00 +00:00
Antony Polukhin
d2361fe05a Updated documentaion, fixed bug and refactored tests (refs #7065)
[SVN r79266]
2012-07-04 18:50:56 +00:00
Antony Polukhin
e3cd0ca7fa Optimizations for boost and std array (refs #7065)
[SVN r79230]
2012-07-02 18:30:21 +00:00
Antony Polukhin
e691b15b77 Force PGI and SunCC compillers to use fallback version of lexical_cast
[SVN r78485]
2012-05-15 18:51:35 +00:00
Antony Polukhin
bb46dbc46c Fixes #6852 for wide characters (ISO C++ does not support the ‘%lg’ gnu_printf format fixed)
[SVN r78408]
2012-05-10 17:39:46 +00:00
Antony Polukhin
d30dd9e3c8 Fixes #6852 (ISO C++ does not support the ‘%lg’ gnu_printf format fixed)
[SVN r78308]
2012-05-02 19:00:37 +00:00
Antony Polukhin
15ab0d6385 Fixes #6812 (now converting "." to float type throws bad_lexical_cast)
[SVN r78111]
2012-04-21 11:08:03 +00:00
Antony Polukhin
d963842d70 Typo fix in documentation. New line added to the end of lexical_cast.hpp file
[SVN r78051]
2012-04-17 18:00:30 +00:00
Antony Polukhin
674e71fb7d Fix compile time error in lexical_cast, when new unicode characters are being converted (Refs #6504 )
[SVN r77936]
2012-04-12 17:15:22 +00:00
Antony Polukhin
8562b480f8 * fixes #6504 (characters widening fixed)
* much more tests
* better support for unicode characters and template classes that are instantinated with unicode character types
* meta code refactored (it is now shorter and clearer)

[SVN r77824]
2012-04-07 19:44:07 +00:00
Antony Polukhin
969a913153 More workarounds for fixed #6670 (disable basic char16_t and char32_t tests for some compilers, disable optimizations for them)
[SVN r77721]
2012-04-02 16:58:32 +00:00
Antony Polukhin
41a673db61 Fixes #6717 (now also setting precision for float types conversion when using iostreams)
[SVN r77716]
2012-04-02 15:33:46 +00:00
Antony Polukhin
acb746274f Fixes #6670 (now using BOOST_NO_UNICODE_LITERALS macro)
[SVN r77691]
2012-04-01 19:08:46 +00:00
Antony Polukhin
dfb518997f Fixes #6717 (now lexical_cast won`t try to support non confirming swprintf)
[SVN r77639]
2012-03-30 03:55:26 +00:00
Antony Polukhin
76b9f29c12 Fixes #6663 (much more optimizations for iterator_range, updated documentation and performance test results)
[SVN r77517]
2012-03-24 19:35:19 +00:00
Antony Polukhin
7e7f494dd1 Attempt to supress warning described in #6645 (implicit conversion shortens 64-bit value into a 32-bit value)
[SVN r77221]
2012-03-04 17:59:03 +00:00
Antony Polukhin
25d880f5eb Updates #5800 (partially fix lexical cast compilation with disabled exceptions)
[SVN r77116]
2012-02-25 16:58:46 +00:00
Antony Polukhin
b71fb9aada Fixes #6441 (compilation error with BOOST_NO_STD_LOCALE defined)
[SVN r77077]
2012-02-20 16:20:09 +00:00
Antony Polukhin
d9baa71302 Updated INF/NAN support for char16_t and char32_t
[SVN r77058]
2012-02-17 18:51:05 +00:00
Antony Polukhin
646b958a92 FIx #5689 (issue from 5th comment)
[SVN r77039]
2012-02-16 17:56:27 +00:00
Antony Polukhin
7a48fea517 Disabling some optimisations for sun cc
Bug described in #6462

[SVN r76824]
2012-02-01 17:08:10 +00:00
Antony Polukhin
c9863cd254 FIxes #6453 (compile error due to deduce_char_traits ambiguity)
[SVN r76818]
2012-02-01 04:25:21 +00:00
Antony Polukhin
5ed7bfd280 Attempt to fix #6251
[SVN r76599]
2012-01-20 19:33:04 +00:00
Antony Polukhin
9a6d983ee5 Fixes #6193
[SVN r76318]
2012-01-05 12:09:15 +00:00
Antony Polukhin
d754143308 Fixes #6132
Fixes #6182

[SVN r76305]
2012-01-04 16:06:37 +00:00
Antony Polukhin
085bd6f93c Fixes #6290
Tiny documentation update
Updated char16_t and char32_t support (still some work required)
lexical_cast_empty_input_test.cpp refactored 

[SVN r76154]
2011-12-25 18:55:33 +00:00
Antony Polukhin
5d288580ee Fixes #6298
Fixes #6264

[SVN r76096]
2011-12-21 17:03:52 +00:00
Antony Polukhin
8627f8bb8a Fixes #6186 (treat conversions to/from single wchar_t character as conversions to/from unsigned short. Test added, documentation updated)
[SVN r75937]
2011-12-14 16:36:34 +00:00
Antony Polukhin
a9697b88fd Fixes #6186 (lexical_cast compliation error fixed, when wchar_t is a typedef for unsigned short. Test added)
[SVN r75864]
2011-12-08 15:29:44 +00:00
Antony Polukhin
2312691bde Fixes #6127 (wchar_t usage outside of #ifndef BOOST_LCAST_NO_WCHAR_T )
[SVN r75813]
2011-12-05 16:29:45 +00:00
Antony Polukhin
7dd63d08d6 Fixes #6159 (compilation on platforms without cwchar)
[SVN r75812]
2011-12-05 16:17:09 +00:00
Antony Polukhin
4ddb0bfb95 Fix for error noticed by Olaf van der Spek (ticket #6083)
Added test case for that error

[SVN r75283]
2011-11-03 04:33:58 +00:00
Antony Polukhin
c07cbcee5c Performance optimizations and testsfor conversions to/from boost::container::basic_string
[SVN r74940]
2011-10-13 18:36:39 +00:00
Antony Polukhin
d2ae7fdbd7 char16_t and char32_t conversions now work on gcc for C locale
Optimizations for C locale
Performance section of documentation updated

[SVN r74432]
2011-09-17 09:09:27 +00:00
Antony Polukhin
2acef7aa44 Basic support for char16_t and char32_t
[SVN r74243]
2011-09-05 19:00:29 +00:00
Antony Polukhin
2f5d0c847b Fixes #5783
Fixes ambiguities with operators >> and <<. Adds tests for such cases.

[SVN r73818]
2011-08-16 17:09:25 +00:00
Antony Polukhin
eb66b40e67 FIxes #5631
Workaround for nvcc bug

[SVN r73707]
2011-08-12 17:35:56 +00:00
Antony Polukhin
9955dcce51 Fixes #5732.
* suppress compilation warnings, if the compiler requires a return, even when it can never be reached

[SVN r73640]
2011-08-10 18:58:06 +00:00
Antony Polukhin
e8108e5066 Fixes #5732.
* some fixes for WinCE
* updated explicit failures markup

[SVN r73601]
2011-08-07 17:38:33 +00:00
Antony Polukhin
a9778ad460 Fixes #5732.
* at least compiles on pgi

[SVN r73446]
2011-07-30 16:47:30 +00:00
Antony Polukhin
aba423d425 Fixes #5732.
* one more try to fix compilation errors on pgi compiler 

[SVN r73435]
2011-07-29 19:33:18 +00:00
Antony Polukhin
30e4efd062 Fixes #5732.
* one more try to fix compilation errors on pgi compiler 

[SVN r73401]
2011-07-27 15:56:49 +00:00
Antony Polukhin
19f316f768 Fixes #5732.
* fixes compilation errors pgi compiler 
* fixes some bugs for MinGW compiler

[SVN r73384]
2011-07-26 18:51:39 +00:00
Antony Polukhin
9ac4e2bef1 Fixes #5732.
* fixes compilation errors for nonconst char arrays

[SVN r73357]
2011-07-25 15:13:36 +00:00
Antony Polukhin
2b76f558c1 #5732. Adds workaround for MinGW bugs
[SVN r73347]
2011-07-25 05:02:07 +00:00
Antony Polukhin
0ee6400d5e Fixes #5732.
* fixes some warnings and bugs for VC

[SVN r73328]
2011-07-24 10:56:54 +00:00
Antony Polukhin
fd264b0583 Fixes #5732.
* fixes performance regression, that was added by previous commit
* fixes float types preformance regression for old compilers

[SVN r73323]
2011-07-24 09:42:06 +00:00
Antony Polukhin
8a756eae7b Fixes #5732.
* reduces templates count
 * leaves only one lexical converting class (at least for modern compilers)
 * fixes small TODOs and XXXs from source code
 * makes lexical_stream_limited_src more readable
 * updates status/explicit-failures-markup.xml
 * makes lexical_cast_inf_nan_test.cpp pass on Itanium pltform
 * makes lexical_cast able to convert signed and unsigned chars to wchar_t
 and updates lexical_cast_wchars_test

[SVN r73313]
2011-07-23 15:55:54 +00:00
Antony Polukhin
c6c501c769 Fixes #5689. Added code to work -NaN on any platform. Removed some warnings
[SVN r73155]
2011-07-16 21:02:32 +00:00
Antony Polukhin
de3df54f80 Fixes #5689. Added code to work with Inf and NaN on any platform
[SVN r73118]
2011-07-15 11:20:11 +00:00
Antony Polukhin
27a7fac22e Updates #5660.
Removed duplicate tests.
Unified behaviour for float conversions on different compillers

[SVN r72972]
2011-07-08 17:23:31 +00:00
Antony Polukhin
0e2235dc75 Fixes #5675. Adds tests on #5675.
Updates #5660. Updates performance section of documentation

[SVN r72954]
2011-07-07 11:31:25 +00:00
Antony Polukhin
6a8c22d5c3 Partial fix for #5660. Better performance and less memory usage for conversions to float type (and to double type, if sizeof(double) < sizeof(long double)). New test suits. Documentation update.
[SVN r72925]
2011-07-06 15:43:04 +00:00
Antony Polukhin
cd0167d6b8 Fixes #5585 and adds test on it
[SVN r72315]
2011-05-31 20:46:37 +00:00
Antony Polukhin
b0b1ce9453 Fixes #5576, adds performance section to the lexical_cast documentation, fixes misprint in tests/
[SVN r72224]
2011-05-27 18:19:38 +00:00
Antony Polukhin
98d24e04f4 Fixes #5564. Adds tests on #5564 and more tests on #5557
[SVN r72203]
2011-05-27 04:22:18 +00:00
Antony Polukhin
920e36f6ba Fixes #5557. Adds tests on #5557
[SVN r72071]
2011-05-22 11:35:00 +00:00
Antony Polukhin
dc9b364d6f Fixes #5417. Much better performance on casts to integral types.
Adds more tests for overflow detection.
Workaround for bugs of vc8 (lexical_cast_vc8_bug_test.cpp now passes)
Fixes some inspection errors.

[SVN r72056]
2011-05-20 17:11:53 +00:00