WPILibC++ 2024.3.2
internal_iterator.h
Go to the documentation of this file.
1// __ _____ _____ _____
2// __| | __| | | | JSON for Modern C++
3// | | |__ | | | | | | version 3.11.2
4// |_____|_____|_____|_|___| https://github.com/nlohmann/json
5//
6// SPDX-FileCopyrightText: 2013-2022 Niels Lohmann <https://nlohmann.me>
7// SPDX-License-Identifier: MIT
8
9#pragma once
10
13
15namespace detail
16{
17
18/*!
19@brief an iterator value
20
21@note This structure could easily be a union, but MSVC currently does not allow
22unions members with complex constructors, see https://github.com/nlohmann/json/pull/105.
23*/
24template<typename BasicJsonType> struct internal_iterator
25{
26 /// iterator for JSON objects
27 typename BasicJsonType::object_t::iterator object_iterator {};
28 /// iterator for JSON arrays
29 typename BasicJsonType::array_t::iterator array_iterator {};
30 /// generic iterator for all other types
32};
33
34} // namespace detail
#define WPI_JSON_NAMESPACE_END
Definition: abi_macros.h:59
#define WPI_JSON_NAMESPACE_BEGIN
Definition: abi_macros.h:53
Definition: primitive_iterator.h:30
detail namespace with internal helper functions
Definition: xchar.h:20
an iterator value
Definition: internal_iterator.h:25
BasicJsonType::array_t::iterator array_iterator
iterator for JSON arrays
Definition: internal_iterator.h:29
primitive_iterator_t primitive_iterator
generic iterator for all other types
Definition: internal_iterator.h:31
BasicJsonType::object_t::iterator object_iterator
iterator for JSON objects
Definition: internal_iterator.h:27