From a2fa10a0bc5c67e0da6c0412d7370e4e0d97d0db Mon Sep 17 00:00:00 2001 From: Piotr Jastrzebski Date: Tue, 17 Nov 2020 16:03:34 +0100 Subject: [PATCH] cartesian_product: Remove std::iterator from iterator std::iterator is deprecated since C++17 so define all the required iterator_traits directly. Signed-off-by: Piotr Jastrzebski --- cartesian_product.hh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cartesian_product.hh b/cartesian_product.hh index a2c13a81fb..530fc6226e 100644 --- a/cartesian_product.hh +++ b/cartesian_product.hh @@ -33,9 +33,13 @@ template struct cartesian_product { const std::vector>& _vec_of_vecs; public: - class iterator : public std::iterator> { + class iterator { public: + using iterator_category = std::forward_iterator_tag; using value_type = std::vector; + using difference_type = std::ptrdiff_t; + using pointer = std::vector*; + using reference = std::vector&; private: size_t _pos; const std::vector>* _vec_of_vecs;