/src/arduinojson/src/ArduinoJson/Deserialization/DeserializationOptions.hpp
Line | Count | Source |
1 | | // ArduinoJson - https://arduinojson.org |
2 | | // Copyright © 2014-2023, Benoit BLANCHON |
3 | | // MIT License |
4 | | |
5 | | #pragma once |
6 | | |
7 | | #include <ArduinoJson/Deserialization/Filter.hpp> |
8 | | #include <ArduinoJson/Deserialization/NestingLimit.hpp> |
9 | | |
10 | | ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE |
11 | | |
12 | | template <typename TFilter> |
13 | | struct DeserializationOptions { |
14 | | TFilter filter; |
15 | | DeserializationOption::NestingLimit nestingLimit; |
16 | | }; |
17 | | |
18 | | template <typename TFilter> |
19 | | inline DeserializationOptions<TFilter> makeDeserializationOptions( |
20 | | TFilter filter, DeserializationOption::NestingLimit nestingLimit = {}) { |
21 | | return {filter, nestingLimit}; |
22 | | } |
23 | | |
24 | | template <typename TFilter> |
25 | | inline DeserializationOptions<TFilter> makeDeserializationOptions( |
26 | | DeserializationOption::NestingLimit nestingLimit, TFilter filter) { |
27 | | return {filter, nestingLimit}; |
28 | | } |
29 | | |
30 | | inline DeserializationOptions<AllowAllFilter> makeDeserializationOptions( |
31 | 2.16k | DeserializationOption::NestingLimit nestingLimit = {}) { |
32 | 2.16k | return {{}, nestingLimit}; |
33 | 2.16k | } |
34 | | |
35 | | ARDUINOJSON_END_PRIVATE_NAMESPACE |