Message ID | 20210906020100.14430-2-laurent.pinchart@ideasonboard.com |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Hi Laurent, On 06/09/2021 04:00, Laurent Pinchart wrote: > The index generated by utils::enumerate() is an iteration counter, which > should thus be positive. Use std::size_t instead of the different_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> > --- > include/libcamera/base/utils.h | 4 ++-- > 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 52301254c2eb..2b761436a99f 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 d7f810e95e7a..d65467b5102c 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)) { >
Hi Laurent, On Mon, Sep 06, 2021 at 05:00:34AM +0300, Laurent Pinchart wrote: > The index generated by utils::enumerate() is an iteration counter, which > should thus be positive. Use std::size_t instead of the different_type s/different/difference/ ? > of the container. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> > --- > include/libcamera/base/utils.h | 4 ++-- > 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 52301254c2eb..2b761436a99f 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 d7f810e95e7a..d65467b5102c 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)) { > -- > Regards, > > Laurent Pinchart >
Hi Laurent, On Mon, Sep 6, 2021 at 6:03 PM <paul.elder@ideasonboard.com> wrote: > > Hi Laurent, > > On Mon, Sep 06, 2021 at 05:00:34AM +0300, Laurent Pinchart wrote: > > The index generated by utils::enumerate() is an iteration counter, which > > should thus be positive. Use std::size_t instead of the different_type > > s/different/difference/ ? > > > of the container. > > > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > > Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> > Reviewed-by: Hirokazu Honda <hiroh@chromium.org> > > --- > > include/libcamera/base/utils.h | 4 ++-- > > 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 52301254c2eb..2b761436a99f 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 d7f810e95e7a..d65467b5102c 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)) { > > -- > > Regards, > > > > Laurent Pinchart > >
diff --git a/include/libcamera/base/utils.h b/include/libcamera/base/utils.h index 52301254c2eb..2b761436a99f 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 d7f810e95e7a..d65467b5102c 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)) {