|
7 | 7 | namespace JSON |
8 | 8 | { |
9 | 9 | template <typename T> |
10 | | - void try_parse(T& obj, std::string const& name, PropertyTree const& tree, ParsingOptions const& options = DEFAULT_PARSER_OPTIONS, |
| 10 | + void try_parse(T& obj, std::string const& name, PropertyTree const& tree, ParsingOptions const& options = {}, |
11 | 11 | typename std::enable_if <Internal::can_parse<T>::value, void>::type* = nullptr) |
12 | 12 | { |
13 | 13 | parse(obj, name, tree, options); |
14 | 14 | } |
15 | 15 |
|
16 | 16 | template <typename T> |
17 | | - void try_parse(T&, std::string const&, PropertyTree const&, ParsingOptions const& = DEFAULT_PARSER_OPTIONS, |
| 17 | + void try_parse(T&, std::string const&, PropertyTree const&, ParsingOptions const& = {}, |
18 | 18 | typename std::enable_if <!Internal::can_parse<T>::value, int>::type* = nullptr) |
19 | 19 | { |
20 | 20 | static_assert (Internal::can_parse<T>::value, "the object you try to parse has no applicable interface"); |
21 | 21 | } |
22 | 22 |
|
23 | 23 | template <typename T> |
24 | | - T make_from_json(std::istream&& stream) |
| 24 | + T make_from_json(std::istream&& stream, ParsingOptions const& = {}) |
25 | 25 | { |
26 | 26 | T res; |
27 | 27 | JSON::parse(res, "", JSON::parse_json(stream)); |
28 | 28 | return res; |
29 | 29 | } |
30 | 30 |
|
31 | 31 | template <typename T> |
32 | | - T make_from_json(std::istream& stream) |
| 32 | + T make_from_json(std::istream& stream, ParsingOptions const& = {}) |
33 | 33 | { |
34 | 34 | T res; |
35 | 35 | JSON::parse(res, "", JSON::parse_json(stream)); |
36 | 36 | return res; |
37 | 37 | } |
38 | 38 |
|
39 | 39 | template <typename T> |
40 | | - T make_from_json(std::string const& str) |
| 40 | + T make_from_json(std::string const& str, ParsingOptions const& = {}) |
41 | 41 | { |
42 | 42 | T res; |
43 | 43 | JSON::parse(res, "", JSON::parse_json(str)); |
|
0 commit comments