40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
| //     __ _____ _____ _____
 | |
| //  __|  |   __|     |   | |  JSON for Modern C++
 | |
| // |  |  |__   |  |  | | | |  version 3.11.3
 | |
| // |_____|_____|_____|_|___|  https://github.com/nlohmann/json
 | |
| //
 | |
| // SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me>
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <type_traits> // conditional, is_same
 | |
| 
 | |
| #include <nlohmann/detail/abi_macros.hpp>
 | |
| 
 | |
| NLOHMANN_JSON_NAMESPACE_BEGIN
 | |
| namespace detail
 | |
| {
 | |
| 
 | |
| /*!
 | |
| @brief Default base class of the @ref basic_json class.
 | |
| 
 | |
| So that the correct implementations of the copy / move ctors / assign operators
 | |
| of @ref basic_json do not require complex case distinctions
 | |
| (no base class / custom base class used as customization point),
 | |
| @ref basic_json always has a base class.
 | |
| By default, this class is used because it is empty and thus has no effect
 | |
| on the behavior of @ref basic_json.
 | |
| */
 | |
| struct json_default_base {};
 | |
| 
 | |
| template<class T>
 | |
| using json_base_class = typename std::conditional <
 | |
|                         std::is_same<T, void>::value,
 | |
|                         json_default_base,
 | |
|                         T
 | |
|                         >::type;
 | |
| 
 | |
| }  // namespace detail
 | |
| NLOHMANN_JSON_NAMESPACE_END
 |