DAW JSON Link
daw_to_json_fwd.h
Go to the documentation of this file.
1// Copyright (c) Darrell Wright
2//
3// Distributed under the Boost Software License, version 1.0. (see accompanying
4// file LICENSE or copy at http://www.boost.org/LICENSE_1_0.txt)
5//
6// Official repository: https://github.com/beached/daw_json_link
7//
8
9#pragma once
10
13#include "impl/version.h"
14
15namespace daw::json {
16 inline namespace DAW_JSON_VER {
25 template<
26 typename Value,
27 typename JsonClass = typename json_details::json_deduced_type<Value>,
28 typename OutputIterator>
29 [[maybe_unused]] constexpr OutputIterator to_json( Value const &value,
30 OutputIterator out_it );
31
42 template<
43 typename Result = std::string, typename Value,
44 typename JsonClass = typename json_details::json_deduced_type<Value>,
45 typename SerializationPolicy = use_default_serialization_policy>
46 [[maybe_unused, nodiscard]] constexpr Result to_json( Value const &value );
47
48 namespace json_details {
49 /***
50 * Tag type to indicate that the element of a Container is not being
51 * specified. This is the default.
52 */
54 } // namespace json_details
55
65 template<typename JsonElement = json_details::auto_detect_array_element,
66 typename Container, typename OutputIterator>
67 [[maybe_unused]] constexpr OutputIterator
68 to_json_array( Container const &c, OutputIterator out_it );
69
78 template<typename Result = std::string,
79 typename JsonElement = json_details::auto_detect_array_element,
80 typename SerializationPolicy = use_default_serialization_policy,
81 typename Container>
82 [[maybe_unused, nodiscard]] constexpr Result to_json_array( Container &&c );
83 } // namespace DAW_JSON_VER
84} // namespace daw::json
constexpr OutputIterator to_json(Value const &value, OutputIterator out_it)
Definition: daw_to_json.h:26
constexpr OutputIterator to_json_array(Container const &c, OutputIterator it)
Definition: daw_to_json.h:66
Definition: daw_from_json.h:22
#define DAW_JSON_VER
The version string used in namespace definitions. Must be a valid namespace name.
Definition: version.h:16