2
0
mirror of https://github.com/boostorg/json.git synced 2026-02-01 20:42:17 +00:00
Commit Graph

508 Commits

Author SHA1 Message Date
Richard Hodges
21cdb11346 Fix value_to and value_from for MSVC-14.0:
close #465

value_to and value_from was incorrectly deducing that std::string was
"array-like" rather than "string-like", but only on msvc-14.0

Original test:

template<class T, typename std::enable_if<
    std::is_constructible<remove_cvref<T>, const char*, std::size_t>::value &&
    std::is_convertible<decltype(std::declval<T&>().data()), const char*>::value &&
    std::is_convertible<decltype(std::declval<T&>().size()), std::size_t>::value
>::type* = nullptr>

Which works for all compilers except msvc-14.0

New test:

template<class T, typename std::enable_if<
    std::is_constructible<remove_cvref<T>, const char*, std::size_t>::value &&
    std::is_convertible<decltype(std::declval<T&>().data()), const char*>::value &&
    std::is_integral<decltype(std::declval<T&>().size())>::value
>::type* = nullptr>

Note that each individual test works on all compilers. It seems to be
the conjuction of tests that caused msvc-14 to trip up.
2020-11-17 16:57:22 -08:00
Vinnie Falco
38c31a1812 Safer shared library behavior:
This solves a problem where there is more than
one instance of the library loaded into the process
and objects are shared across module boundaries.
2020-11-17 11:44:10 -08:00
Vinnie Falco
499ef7d4b1 Revert "Add value::is_integral"
This reverts commit 099a82957a.
2020-11-17 11:44:10 -08:00
Vinnie Falco
099a82957a Add value::is_integral 2020-11-16 10:18:48 -08:00
Vinnie Falco
ee8d72d850 Fix value to_number warning for lossy conversion 2020-11-03 19:23:36 -08:00
Vinnie Falco
1d79785653 Use static cast instead of dynamic cast 2020-10-30 15:57:47 -07:00
Vinnie Falco
6f4cead649 Remove UB in storage_ptr 2020-10-30 14:45:14 -07:00
Vinnie Falco
74fb1effd1 Squelch class dllexport warning 2020-10-30 10:50:15 -07:00
Krystian Stasiowski
3a39b8cf9f Fix out-of-bounds warning on g++11 2020-10-30 10:50:15 -07:00
Krystian Stasiowski
c036f3db9c Fix implicit floating-point conversion warnings 2020-10-30 10:50:15 -07:00
Krystian Stasiowski
f29fe71de5 Refactor CI 2020-10-29 13:26:12 -07:00
Vinnie Falco
52f1d0b30b Small object uses linear search 2020-10-27 14:42:36 -07:00
Krystian Stasiowski
2b074ee053 value_to/from don't use user-provided conversion functions 2020-10-27 14:03:52 -07:00
Vinnie Falco
c02fd6339a object::at is inline 2020-10-25 13:45:17 -07:00
Peter Dimov
2e9366a2d6 Remove use of std::pow from pow10/dec_to_float 2020-10-24 12:12:48 -07:00
Vinnie Falco
b4e40998e5 digest is inline 2020-10-23 11:39:37 -07:00
Richard Hodges
bfc8665d6d Fix visit for const values 2020-10-22 20:53:43 +02:00
Richard Hodges
3f2fb68be5 Improved tests for string to double
close #447
2020-10-21 11:39:30 -07:00
Vinnie Falco
9d27d48cad Initialize pad for constexpr construction 2020-10-21 11:33:31 -07:00
Krystian Stasiowski
980ae37dbc Fix msvc anonymous union member lookup bug 2020-10-21 09:54:42 -07:00
Krystian Stasiowski
d5d2dfd648 Use alignas(T) over alignas(alignof(T)) 2020-10-21 09:54:42 -07:00
Vinnie Falco
eff84d5b7f Avoid digraphs 2020-10-21 08:15:22 -07:00
Vinnie Falco
37cb1b4d90 No redundant checks building objects
fix #231
2020-10-16 13:12:42 -07:00
Vinnie Falco
18a50dae83 Better decimal to float accuracy 2020-10-09 10:22:59 -07:00
Vinnie Falco
844851c6ab Refactor object 2020-10-09 10:15:02 -07:00
Vinnie Falco
1b5a00e968 Return storage_ptr by reference 2020-10-08 14:05:37 -07:00
Maximilian Riemensberger
9a42dbbaab Use relaxed increment and acquire_release decrement for atomic reference counts 2020-10-08 14:04:26 -07:00
Richard Hodges
ff6a090680 Fix parsing of double with >16 mantissa digits 2020-10-08 14:01:59 -07:00
Vinnie Falco
8f26e86b2f Don't destroy in object_impl::build 2020-10-06 13:05:47 -07:00
Vinnie Falco
0a905acf9d Tidy up pilfering 2020-10-06 11:59:58 -07:00
Vinnie Falco
dd338e299e Update natvis 2020-10-06 11:38:58 -07:00
Vinnie Falco
018a5b555d Use static_cast 2020-10-05 16:35:32 -07:00
Vinnie Falco
ca9e94c490 Tidy up to_number 2020-10-05 16:16:48 -07:00
Vinnie Falco
1149030797 Tidy up inlining
fix #442
2020-10-05 15:47:34 -07:00
Vinnie Falco
2032232f9e value::to_number replaces number_cast 2020-10-05 13:17:13 -07:00
Vinnie Falco
592783499e Tidy up value and tests 2020-10-05 11:44:13 -07:00
Vinnie Falco
0c0c423e05 constinit is on the definition 2020-10-05 11:01:46 -07:00
Vinnie Falco
b68d325a8b Include ostream 2020-10-05 08:36:18 -07:00
Vinnie Falco
94d11a74e6 Refactor storage_ptr (API Change) 2020-10-04 19:07:58 -07:00
Vinnie Falco
8faf950b79 storage_ptr thread safety doc and tidy
fix #391
2020-10-04 18:46:01 -07:00
Vinnie Falco
6f895a79cc Refactor basic_parser includes
fix #424
2020-10-04 18:30:22 -07:00
Vinnie Falco
e1140a9847 Better construction of keys
fix #426
2020-10-04 18:26:25 -07:00
Vinnie Falco
996c8958fe Add visit
fix #207
2020-10-04 11:22:29 -07:00
Vinnie Falco
a2c1b7e9e5 monotonic_resource has an upstream
fix #365
2020-10-04 11:21:55 -07:00
Vinnie Falco
1b73c77822 static and monotonic resource tests, fixes:
fix #419

* monotonic_resource::release correctly resets
  the buffer list.
2020-10-04 11:21:55 -07:00
Vinnie Falco
0fd1d1a9a7 basic_parser::depth is private
fix #430
2020-10-04 11:21:55 -07:00
Vinnie Falco
b95be4fd15 8-bit integers are supported
fix #433
2020-10-04 11:21:55 -07:00
Vinnie Falco
531287af2b long double is not a fundamental type:
fix #432

Users have to opt-in to the narrowing conversion
by using static_cast.
2020-10-04 11:21:55 -07:00
Vinnie Falco
9b86962fbc Add metadata and update repo links 2020-10-04 11:06:25 -07:00
Vinnie Falco
a4d2983c4f Doc work 2020-10-03 18:55:53 -07:00