2
0
mirror of https://github.com/boostorg/leaf.git synced 2026-01-19 04:22:08 +00:00

411 Commits

Author SHA1 Message Date
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