diff options
author | Frediano Ziglio <freddy77@gmail.com> | 2022-07-18 20:53:25 +0100 |
---|---|---|
committer | Frediano Ziglio <freddy77@gmail.com> | 2022-07-19 10:11:55 +0100 |
commit | acfa6f6bf8f01fe3b589af202ca9ca397ba00721 (patch) | |
tree | 18df053cb464c1faa085fce4c93267e6ca2d25b2 | |
parent | a32b4b5084ac95e542e8503188b32dcfa494d44e (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.hpp | 8 |
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()) |