1
0
mirror of https://github.com/nlohmann/json synced 2024-11-21 19:50:04 +00:00

Make iterator_proxy_value a forward_iterator (#4371) (#4372)

* Make iteration_proxy_value model forward_iterator

* Amalgamate

* Suppress tidy warning
This commit is contained in:
Captain Crutches 2024-11-15 00:28:40 -08:00 committed by GitHub
parent 1825117e63
commit fde9a86c5a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 5 deletions

View File

@ -9,7 +9,7 @@
#pragma once #pragma once
#include <cstddef> // size_t #include <cstddef> // size_t
#include <iterator> // input_iterator_tag #include <iterator> // forward_iterator_tag
#include <string> // string, to_string #include <string> // string, to_string
#include <tuple> // tuple_size, get, tuple_element #include <tuple> // tuple_size, get, tuple_element
#include <utility> // move #include <utility> // move
@ -40,7 +40,7 @@ template<typename IteratorType> class iteration_proxy_value
using value_type = iteration_proxy_value; using value_type = iteration_proxy_value;
using pointer = value_type *; using pointer = value_type *;
using reference = value_type &; using reference = value_type &;
using iterator_category = std::input_iterator_tag; using iterator_category = std::forward_iterator_tag;
using string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type; using string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type;
private: private:

View File

@ -5181,7 +5181,7 @@ NLOHMANN_JSON_NAMESPACE_END
#include <cstddef> // size_t #include <cstddef> // size_t
#include <iterator> // input_iterator_tag #include <iterator> // forward_iterator_tag
#include <string> // string, to_string #include <string> // string, to_string
#include <tuple> // tuple_size, get, tuple_element #include <tuple> // tuple_size, get, tuple_element
#include <utility> // move #include <utility> // move
@ -5215,7 +5215,7 @@ template<typename IteratorType> class iteration_proxy_value
using value_type = iteration_proxy_value; using value_type = iteration_proxy_value;
using pointer = value_type *; using pointer = value_type *;
using reference = value_type &; using reference = value_type &;
using iterator_category = std::input_iterator_tag; using iterator_category = std::forward_iterator_tag;
using string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type; using string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type;
private: private:

View File

@ -171,7 +171,7 @@ TEST_CASE("README" * doctest::skip())
// find an entry // find an entry
CHECK(o.find("foo") != o.end()); CHECK(o.find("foo") != o.end());
if (o.find("foo") != o.end()) if (o.find("foo") != o.end()) // NOLINT(readability-container-contains)
{ {
// there is an entry with key "foo" // there is an entry with key "foo"
} }