| // __ _____ _____ _____ |
| // __| | __| | | | JSON for Modern C++ |
| // | | |__ | | | | | | version 3.11.1 |
| // |_____|_____|_____|_|___| https://github.com/nlohmann/json |
| // |
| // SPDX-FileCopyrightText: 2013-2022 Niels Lohmann <https://nlohmann.me> |
| // SPDX-License-Identifier: MIT |
| |
| #pragma once |
| |
| #include <nlohmann/detail/abi_macros.hpp> |
| #include <nlohmann/detail/iterators/primitive_iterator.hpp> |
| |
| NLOHMANN_JSON_NAMESPACE_BEGIN |
| namespace detail |
| { |
| |
| /*! |
| @brief an iterator value |
| |
| @note This structure could easily be a union, but MSVC currently does not allow |
| unions members with complex constructors, see https://github.com/nlohmann/json/pull/105. |
| */ |
| template<typename BasicJsonType> struct internal_iterator |
| { |
| /// iterator for JSON objects |
| typename BasicJsonType::object_t::iterator object_iterator {}; |
| /// iterator for JSON arrays |
| typename BasicJsonType::array_t::iterator array_iterator {}; |
| /// generic iterator for all other types |
| primitive_iterator_t primitive_iterator {}; |
| }; |
| |
| } // namespace detail |
| NLOHMANN_JSON_NAMESPACE_END |