summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrediano Ziglio <freddy77@gmail.com>2022-07-18 20:53:25 +0100
committerFrediano Ziglio <freddy77@gmail.com>2022-07-19 10:11:55 +0100
commitacfa6f6bf8f01fe3b589af202ca9ca397ba00721 (patch)
tree18df053cb464c1faa085fce4c93267e6ca2d25b2
parenta32b4b5084ac95e542e8503188b32dcfa494d44e (diff)
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<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator' is deprecated [-Werror=deprecated-declarations] 108 | class safe_list<T>::iterator: public std::iterator<std::forward_iterator_tag, T> | ^~~~~~~~ Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
-rw-r--r--server/safe-list.hpp8
1 files changed, 7 insertions, 1 deletions
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 <typename T>
-class safe_list<T>::iterator: public std::iterator<std::forward_iterator_tag, T>
+class safe_list<T>::iterator
{
typedef typename std::forward_list<T,Mallocator<T>>::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())