From acfa6f6bf8f01fe3b589af202ca9ca397ba00721 Mon Sep 17 00:00:00 2001 From: Frediano Ziglio Date: Mon, 18 Jul 2022 20:53:25 +0100 Subject: [PATCH] Fix C++ compatibility issue Remove deprecation warnings like In file included from ../../server/char-device.cpp:28: ../../server/safe-list.hpp:108:43: error: 'template struct std::iterator' is deprecated [-Werror=deprecated-declarations] 108 | class safe_list::iterator: public std::iterator | ^~~~~~~~ Signed-off-by: Frediano Ziglio --- server/safe-list.hpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server/safe-list.hpp b/server/safe-list.hpp index 960f21a3..77e2807c 100644 --- a/server/safe-list.hpp +++ b/server/safe-list.hpp @@ -105,11 +105,17 @@ public: }; template -class safe_list::iterator: public std::iterator +class safe_list::iterator { typedef typename std::forward_list>::iterator wrapped; wrapped curr, next; public: + using iterator_category = std::forward_iterator_tag; + using value_type = T; + using difference_type = ptrdiff_t; + using pointer = const value_type*; + using reference = const value_type&; + iterator(wrapped init_curr) : curr(init_curr), next(init_curr != wrapped() ? ++init_curr : wrapped())