Commit Graph

316 Commits

Author SHA1 Message Date
Tristan Penman
ad1e184b1c
Merge pull request #199 from tyler92/stack-overflow-invalid-ref
Fix stack overflow for unresolved references
2024-10-21 20:42:00 +11:00
Tristan Penman
65d4d68373 Fix up include grouping 2024-10-21 09:45:24 +11:00
Mikhail Khachayants
63c56dd730 Prevent potential division by zero 2024-10-21 00:16:06 +03:00
Mikhail Khachayants
1c67b948b6 Fix stack overflow for unresolved references 2024-10-20 13:47:54 +03:00
Tristan Penman
fc9ddf14db Fix bug in difference() for rapidjson 2024-08-28 13:02:35 +10:00
Tristan Penman
a0e05907ae Tidy up regex changes 2024-05-17 08:52:22 +10:00
sandwoodK
2431bdeaa6 Ability to customize regular expression engine 2024-05-02 09:18:28 +02:00
BohdanBuinich
c54607119d Compatibility with boost-1.85.0
Starting from boost version 1.85.0, json::error_code is now deprecated

Changes added here:
bacc644f93
2024-04-23 01:08:04 +03:00
Tristan Penman
27f7e75ca1
Merge pull request #187 from jackorobot/move_schema
Implemented functioning move constructors/operators
2024-01-07 11:41:11 +11:00
Maarten van der Schrieck
a40ec5ea96 Various fixes, reducing compiler warnings.
My compiler gave various warnings, which are easily fixed.
- redundant ";"
- missing NORETURN attributes
- inline @param documentation not in line with functions
- include guard prefix "_" is reserved
2024-01-06 22:30:26 +01:00
Jesse Hoogervorst
299fe1c78d Implemented Schema and Subschema move constructor and assignment operators.
Default implementations were not sufficient, since raw pointers are not actually moved correctly automatically, resulting in segmentation faults.
2024-01-04 15:05:37 +01:00
Jesse Hoogervorst
37dceaa5db Added explicit default move constructor/operator to Schema and Subschema to enable move semantics for these classes 2023-12-15 10:44:18 +01:00
Tristan Penman
afc92d5428 Change isString to IsString 2023-12-15 10:54:41 +11:00
Dominic Reber
5d7a6c5c4c Fix isString() method in yaml_cpp_adapter 2023-12-13 15:48:55 +01:00
Tristan Penman
0b7efb3763 Make subschema constraint validation clearer 2023-08-24 20:45:43 +10:00
Tristan Penman
138c3785ef Tweak behaviour of format constraint validation 2023-08-24 09:37:44 +10:00
Tristan Penman
92b9514bde Revert "fail with the first unmet constraint to avoid running into type mismatches"
This reverts commit aee67d58f0.

I believe the original intention of this code was to fall through to
later constraints, even if earlier constraints were not satisfied. This
is not captured by any of the tests in the test suite, which is an
oversight on my part.
2023-08-24 09:18:24 +10:00
Marco Porsch
aee67d58f0 fail with the first unmet constraint to avoid running into type mismatches 2023-08-23 15:42:06 +02:00
Marco Porsch
f716227d0a check the type constraint first because others might rely on it 2023-08-23 15:41:15 +02:00
yekuang
94ca772cc7
[Build] Make it work on Linux (#1) 2023-06-07 22:52:25 +08:00
Cheng Cao
780bf06715 Rework adapter to build on VS 2022 with latest JSON for modern C++ 2023-06-05 14:50:43 -07:00
Chris Brumgard
9e5b479b95 Fixed validation_visitor to work with adaptors that only support the
forward_iterator_tag for array value iterators.
2023-05-18 10:11:37 -04:00
Austin Haigh
f1ff351828 fix typos in preprocessor macros 2022-11-01 13:29:16 -06:00
Tristan Penman
78ac8a737d Correct token replacement issue 2022-10-26 21:01:58 +11:00
Tristan Penman
c4355eaa47 Simplify implementation of YamlCppObject::find() 2022-09-19 21:01:37 +10:00
Tristan Penman
375eaae06c Tidy up doc-comments 2022-09-15 11:06:04 +10:00
Tristan Penman
db8daacc32 Add std::nothrow when using operator new 2022-09-12 13:02:34 +10:00
Tristan Penman
d397ac6074 Include <limits> header in custom_allocator.hpp 2022-08-10 23:50:03 +10:00
Tristan Penman
94d3bfd39a Fix format regex escape sequences 2022-07-21 22:45:25 +10:00
Johannes Rave
dee2fa64ff Support for time related format fields 2022-07-18 16:57:44 +03:00
Tristan Penman
5f49d77b1e Basic structure for format constraint 2022-07-17 07:30:55 +03:00
Tristan Penman
1ff3625482 Add script to bundle library into a single header 2022-04-09 13:46:54 +10:00
Tristan Penman
21322b2d82 Move Adapter and BasicAdapter classes to internal 2022-04-09 13:46:54 +10:00
Jesse Hoogervorst
72afeb1ff7 Fixed PocoJsonValue::getInteger being limited to 32-bit integers 2022-04-07 16:22:43 +02:00
Pras Velagapudi
b685584e42 Add optimization for find implementation. 2022-02-13 06:28:03 -05:00
Pras Velagapudi
76c9f40c42 Added simple loading utility. 2022-02-13 05:38:54 -05:00
Pras Velagapudi
f03461bb01 Fixed issue with YAML::Node reference usage. 2022-02-13 05:25:31 -05:00
Pras Velagapudi
7f23f3694b Fix unit tests to match property tree. 2022-02-11 19:22:14 -05:00
Pras Velagapudi
328db2f644 Initial pass at yaml-cpp support. 2022-02-11 19:13:43 -05:00
Tristan Penman
7d4ea9088d Add boost::json example and delete problematic constructors 2022-02-07 20:50:23 +11:00
Marco Porsch
828fc87623 use implicit conversion of unique_ptr<T, DeleterA> to unique_ptr<const T, DeleterB>
relies on DeleterB being constructible from DeleterA
also uses that T* can always be converted to void* (but not the other way around)
2021-12-20 10:37:47 +01:00
Marco Porsch
cf841e10e9 use unique_ptr for memory management in constraints and subschema 2021-12-09 15:33:25 +01:00
Tristan Penman
4a99dd79d0 Add missing include 2021-12-07 09:53:09 +11:00
Tristan Penman
26f3a8476f Less const-ness 2021-11-06 08:44:09 +11:00
Yang Jiao
0f0cc2bc55 Always apply callback function when validating schema 2021-10-05 18:23:27 -04:00
Tristan Penman
6dab4978be Update README and tweak syntax in Boost.JSON adapter 2021-09-15 10:15:03 +10:00
Matt Young
f5cf601efa Add Boost.JSON support 2021-09-10 08:55:03 +02:00
Matt Young
14325788f8 Add Boost.JSON support 2021-09-10 08:54:00 +02:00
Matt Young
d3104ea8d8 Support fetching sub-schemas from other files 2021-09-09 19:27:13 +02:00
Ray Vincent
3442709aa7 Update urn regex expression to be std::regex safe 2021-08-25 16:57:33 -07:00