DAW JSON Link
Loading...
Searching...
No Matches
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
15namespace 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<>
26 inline constexpr bool is_missing_data_contract_or_unknown_type_v<void> =
27 true;
28
29 template<typename T>
32
37 template<typename T, typename = void>
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:20