DAW JSON Link
daw_json_data_contract.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 
11 #include "impl/version.h"
12 
13 #include <type_traits>
14 
15 namespace daw::json {
16  inline namespace DAW_JSON_VER {
19  template<typename>
21 
22  template<typename T>
23  inline constexpr bool is_missing_data_contract_or_unknown_type_v = false;
24 
25  template<>
27  true;
28 
29  template<typename T>
32 
37  template<typename T, typename = void>
40  };
41 
43  template<typename T>
45  } // namespace DAW_JSON_VER
46 } // namespace daw::json
typename json_data_contract< T >::type json_data_contract_trait_t
This trait gets us the mapping type from the contract.
Customization point traits.
Mapping class for JSON data structures to C++. It must be specialized in order to parse to a user cla...
This class is used as a way to indicate that a json_data_contract specialization has not been done fo...
#define DAW_JSON_VER
The version string used in namespace definitions. Must be a valid namespace name.
Definition: version.h:25