123456789101112131415161718192021222324252627282930313233343536373839 |
- // __ _____ _____ _____
- // __| | __| | | | 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
|