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 
12 #include "impl/version.h"
13 
14 namespace daw::json {
15  inline namespace DAW_JSON_VER {
24  template<
25  typename Value,
26  typename JsonClass = typename json_details::json_deduced_type<Value>,
27  typename OutputIterator>
28  [[maybe_unused]] constexpr OutputIterator to_json( Value const &value,
29  OutputIterator out_it );
30 
41  template<
42  typename Result = std::string, typename Value,
43  typename JsonClass = typename json_details::json_deduced_type<Value>>
44  [[maybe_unused, nodiscard]] constexpr Result to_json( Value const &value );
45 
46  namespace json_details {
47  /***
48  * Tag type to indicate that the element of a Container is not being
49  * specified. This is the default.
50  */
52  } // namespace json_details
53 
63  template<typename JsonElement = json_details::auto_detect_array_element,
64  typename Container, typename OutputIterator>
65  [[maybe_unused]] constexpr OutputIterator
66  to_json_array( Container const &c, OutputIterator out_it );
67 
76  template<typename Result = std::string,
77  typename JsonElement = json_details::auto_detect_array_element,
78  typename Container>
79  [[maybe_unused, nodiscard]] constexpr Result to_json_array( Container &&c );
80  } // namespace DAW_JSON_VER
81 } // 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 out_it)
Definition: daw_to_json.h:52
Definition: daw_from_json.h:22
#define DAW_JSON_VER
Definition: version.h:11