diff options
Diffstat (limited to 'include/lib/modernjson/detail/iterators/internal_iterator.hpp')
-rw-r--r-- | include/lib/modernjson/detail/iterators/internal_iterator.hpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/lib/modernjson/detail/iterators/internal_iterator.hpp b/include/lib/modernjson/detail/iterators/internal_iterator.hpp new file mode 100644 index 0000000..e1c12a8 --- /dev/null +++ b/include/lib/modernjson/detail/iterators/internal_iterator.hpp @@ -0,0 +1,25 @@ +#pragma once + +#include <lib/modernjson/detail/iterators/primitive_iterator.hpp> + +namespace nlohmann +{ +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 +} // namespace nlohmann |