Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-11-15 09:44:43

0001 //     __ _____ _____ _____
0002 //  __|  |   __|     |   | |  JSON for Modern C++
0003 // |  |  |__   |  |  | | | |  version 3.11.2
0004 // |_____|_____|_____|_|___|  https://github.com/nlohmann/json
0005 //
0006 // SPDX-FileCopyrightText: 2013-2022 Niels Lohmann <https://nlohmann.me>
0007 // SPDX-License-Identifier: MIT
0008 
0009 #pragma once
0010 
0011 #include <nlohmann/detail/abi_macros.hpp>
0012 #include <nlohmann/detail/iterators/primitive_iterator.hpp>
0013 
0014 NLOHMANN_JSON_NAMESPACE_BEGIN
0015 namespace detail
0016 {
0017 
0018 /*!
0019 @brief an iterator value
0020 
0021 @note This structure could easily be a union, but MSVC currently does not allow
0022 unions members with complex constructors, see https://github.com/nlohmann/json/pull/105.
0023 */
0024 template<typename BasicJsonType> struct internal_iterator
0025 {
0026     /// iterator for JSON objects
0027     typename BasicJsonType::object_t::iterator object_iterator {};
0028     /// iterator for JSON arrays
0029     typename BasicJsonType::array_t::iterator array_iterator {};
0030     /// generic iterator for all other types
0031     primitive_iterator_t primitive_iterator {};
0032 };
0033 
0034 }  // namespace detail
0035 NLOHMANN_JSON_NAMESPACE_END