diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-09-02 04:02:43 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-09-07 19:17:37 +0300 |
commit | f9c1a40e21bff9739c9910436d59b25a69538cdf (patch) | |
tree | db1cca4a0edb271d49b5f4fa500fd5c553e4cdb7 | |
parent | 06e53199c2563105030bda4c72752b853da7edc8 (diff) |
libcamera: base: utils: Use size_t for index in utils::enumerate()
The index generated by utils::enumerate() is an iteration counter, which
should thus be positive. Use std::size_t instead of the difference_type
of the container.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
-rw-r--r-- | include/libcamera/base/utils.h | 4 | ||||
-rw-r--r-- | test/utils.cpp | 10 |
2 files changed, 7 insertions, 7 deletions
diff --git a/include/libcamera/base/utils.h b/include/libcamera/base/utils.h index 52301254..2b761436 100644 --- a/include/libcamera/base/utils.h +++ b/include/libcamera/base/utils.h @@ -246,7 +246,7 @@ private: public: using difference_type = typename std::iterator_traits<Base>::difference_type; - using value_type = std::pair<const difference_type, base_reference>; + using value_type = std::pair<const std::size_t, base_reference>; using pointer = value_type *; using reference = value_type &; using iterator_category = std::input_iterator_tag; @@ -275,7 +275,7 @@ public: private: Base current_; - difference_type pos_; + std::size_t pos_; }; template<typename Base> diff --git a/test/utils.cpp b/test/utils.cpp index d7f810e9..d65467b5 100644 --- a/test/utils.cpp +++ b/test/utils.cpp @@ -77,8 +77,8 @@ protected: int testEnumerate() { - std::vector<int> integers{ 1, 2, 3, 4, 5 }; - int i = 0; + std::vector<unsigned int> integers{ 1, 2, 3, 4, 5 }; + unsigned int i = 0; for (auto [index, value] : utils::enumerate(integers)) { if (index != i || value != i + 1) { @@ -93,12 +93,12 @@ protected: ++i; } - if (integers != std::vector<int>{ 0, 1, 2, 3, 4 }) { + if (integers != std::vector<unsigned int>{ 0, 1, 2, 3, 4 }) { cerr << "Failed to modify container in enumerated range loop" << endl; return TestFail; } - Span<const int> span{ integers }; + Span<const unsigned int> span{ integers }; i = 0; for (auto [index, value] : utils::enumerate(span)) { @@ -112,7 +112,7 @@ protected: ++i; } - const int array[] = { 0, 2, 4, 6, 8 }; + const unsigned int array[] = { 0, 2, 4, 6, 8 }; i = 0; for (auto [index, value] : utils::enumerate(array)) { |