Emil Dotchevski
fd0f976406
Serialization to Boost.JSON and nlohmann/json
2026-01-13 18:21:03 -05:00
Emil Dotchevski
b72d2f1875
Serialization refactoring
2026-01-11 13:26:14 -05:00
Emil Dotchevski
ea2e690d14
Generic serialization and JSON eutput support
2026-01-07 17:48:54 -05:00
Emil Dotchevski
eb8d68c448
Replaced BOOST_TEST with BOOST_TEST_EQ, etc. where appropriate
2025-12-24 22:20:18 -05:00
Emil Dotchevski
4c8c5ec1aa
Improved on_error testis, fixed a minor noexcept issue
2025-12-24 22:18:09 -05:00
Emil Dotchevski
711f3e6531
Added BOOST_LEAF_UNREACHABLE, implemented allocation failure test for dynamic_allocator
2025-12-24 22:18:09 -05:00
Emil Dotchevski
95bd94d18f
Changed so_dll_test to use throw_exception from lightweight_test.hpp, which is now marked as inline. Added a static version of so_dll_test, to ensure lack of multiply defined symbols errors across all compilers when Windows TLS is used
2025-12-24 22:18:09 -05:00
Emil Dotchevski
8f8557ace9
fixing test link errors under BOOST_LEAF_NO_EXCEPTIONS
2025-12-24 22:18:09 -05:00
Emil Dotchevski
f8bc875500
- Refactored TLS implementation, including Win32 support across DLL bondaries
...
- on_error now allocates dynamic storage (if enabled) before the stack unwind
2025-12-24 22:18:09 -05:00
Emil Dotchevski
0cdf5c62b1
Implemented Win32 TLS supprt
2025-12-24 22:18:07 -05:00
Emil Dotchevski
56b247d71a
Significant refactoring:
...
- Support for error objects crossing DLL boundaries on Windows via BOOST_LEAF_CFG_WIN32=2.
- Internal TLS interface improvements, separating logical allocation from reading.
- Dynamic allocations (if enabled) for on_error objects now happens before stack unwinding begins.
- BOOST_LEAF_SYMBOL_VISIBLE declarations now separated in config/visibility.hpp.
2025-12-23 17:31:52 -05:00
Emil Dotchevski
d8e4a84080
Added unit test to verify that using error objects of pointer types results in a diagnostic
2025-10-13 12:35:38 -04:00
Rene Rivera
277f588f94
Tweak exception testing dependency to only header only use.
2025-04-06 20:22:20 -05:00
Rene Rivera
f049b12a60
Sync from upstream.
2024-10-10 08:44:14 -05:00
Emil Dotchevski
c973cd4a7d
std::error_code interoperability improvements
2024-09-27 22:10:43 -07:00
Emil Dotchevski
9f63201034
Added boost::source_location overload in lightweight_test.hpp for boost::throw_exception under BOOST_NO_EXCEPTIONS
2024-09-27 22:10:21 -07:00
Emil Dotchevski
8a3b024486
Renamed examples, fixed minor issues in build scripts
2024-09-27 22:08:30 -07:00
Rene Rivera
b591cbd677
Sync from upstream.
2024-09-14 08:41:48 -05:00
Emil Dotchevski
0c7923933e
Improvements in single header distro. Build script tweaks.
2024-09-13 19:58:00 -07:00
Rene Rivera
8fa2dcf54a
Sync from upstream.
2024-09-09 15:24:46 -05:00
Emil Dotchevski
ec11ab1d9c
Renamed namespace leaf_detail -> detail
2024-09-08 22:20:57 -07:00
Emil Dotchevski
f81020e77c
Merge branch 'feature/update_copyright_dates' into develop
2024-09-08 19:37:00 -07:00
Emil Dotchevski
d0047b721c
Updated copyright dates
2024-09-08 18:26:05 -07:00
Emil Dotchevski
cc09447f1e
Check if an error object's value member is a null pointer before printing it
2024-09-08 17:48:45 -07:00
Emil Dotchevski
7358896f82
More robust compile-time parsing of error type names, static_assert on failure to parse
2024-09-08 17:08:13 -07:00
Emil Dotchevski
2c1219716a
diagnostic_info and diagnostic_details storing e_source_location in context, avoids dynamic allocations
2024-09-06 21:31:28 -07:00
Rene Rivera
8ace70c3ad
Sync from upstream.
2024-09-05 08:59:44 -05:00
Emil Dotchevski
3422b31e8c
Deleted context_ptr (was deprecated)
2024-09-04 01:22:29 -07:00
Emil Dotchevski
c9d494a8f8
Exception wrapper optimization
2024-09-03 21:29:28 -07:00
Rene Rivera
dca66a505b
Sync from upstream.
2024-09-03 20:10:42 -05:00
Emil Dotchevski
acf0ae1e4d
Improved diagnostics
2024-09-02 18:26:16 -07:00
Rene Rivera
e4a5dfecbf
Sync from upstream.
2024-08-26 07:14:59 -05:00
Emil Dotchevski
907bd6c26a
diagnostics.hpp
2024-08-25 18:25:55 -07:00
Emil Dotchevski
16ed99327c
Renamed verbose_diagnostic_info -> diagnostic_details
2024-08-25 00:17:12 -07:00
Rene Rivera
466e3160fe
Sync from upstream.
2024-08-23 11:13:22 -05:00
Emil Dotchevski
9c139e094c
C++11 constexpr type name parsing for diagnostics
2024-08-22 20:36:33 -07:00
Rene Rivera
b46c332209
Sync from upstream.
2024-08-21 13:05:52 -05:00
Emil Dotchevski
b026a00790
Improved demangling for prettier verbose_diagnostic_info printing
2024-08-21 09:59:26 -07:00
Emil Dotchevski
3ed033458b
Added _CRT_SECURE_NO_WARNINGS for Windows builds
2024-08-21 09:47:46 -07:00
Rene Rivera
8e3f5a4e6a
Sync from upstream.
2024-08-20 09:59:00 -05:00
Emil Dotchevski
0e7f5a097e
Fix for Issue 75 + unit test
2024-08-18 20:23:43 -07:00
Rene Rivera
ab314102fc
Change all <source> references to <library>.
2024-07-20 19:40:23 -05:00
Rene Rivera
044b9d72df
Sync from upstream.
2024-07-12 08:55:35 -05:00
Emil Dotchevski
d755b4ce1c
Fix a bug in dynamic_allocator
2024-06-30 16:37:26 -07:00
Rene Rivera
d1177e71cc
Make the library modular usable.
2024-03-11 08:38:17 -05:00
Emil Dotchevski
ed8f9cd32f
Issue 70
2024-01-27 17:48:53 -08:00
Emil Dotchevski
031dfa09f7
Issue 69
2024-01-08 17:52:41 -08:00
Emil Dotchevski
b4093c5060
Renamed try_capture_all example/test files
2024-01-07 11:18:18 -08:00
Emil Dotchevski
971141db00
New dynamic capture system: try_capture_all. Previous API based on make_shared_contex/capture is deprecated.
2024-01-06 17:59:10 -08:00
Emil Dotchevski
971ecacf0f
dynamic_capture -> result<T>, a new way to hold and transport errors across threads. Legacy capture functionality removed.
2023-12-24 18:52:14 -08:00