]> git.seodisparate.com - UDPConnection/commitdiff
Add prefix inc/dec to TSLQIterWrapper
authorStephen Seo <seo.disparate@gmail.com>
Thu, 24 Oct 2019 08:58:13 +0000 (17:58 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Thu, 24 Oct 2019 08:58:13 +0000 (17:58 +0900)
cpp_impl/src/TSLQueue.hpp

index c4fafe98fb0bec482bbe1111da21e58dac5aad09..fd28bb30032da49e3e4278d351498fb5117d7fb6 100644 (file)
@@ -51,6 +51,9 @@ class TSLQueue {
         bool prev();
         std::optional<T> current();
 
+        TSLQIterWrapper<isConst, isRev>& operator++();
+        TSLQIterWrapper<isConst, isRev>& operator--();
+
       private:
         std::conditional_t<isConst, const std::list<T>, std::list<T>>
             *containerPtr;
@@ -333,6 +336,20 @@ std::optional<T> TSLQueue<T>::TSLQIterWrapper<isConst, isRev>::current() {
     return *iter;
 }
 
+template <typename T>
+template <bool isConst, bool isRev>
+typename TSLQueue<T>::template TSLQIterWrapper<isConst, isRev>& TSLQueue<T>::TSLQIterWrapper<isConst, isRev>::operator++() {
+    next();
+    return *this;
+}
+
+template <typename T>
+template <bool isConst, bool isRev>
+typename TSLQueue<T>::template TSLQIterWrapper<isConst, isRev>& TSLQueue<T>::TSLQIterWrapper<isConst, isRev>::operator--() {
+    prev();
+    return *this;
+}
+
 template <typename T>
 typename TSLQueue<T>::template TSLQIterWrapper<false, false> TSLQueue<T>::iter() {
     return TSLQIterWrapper<false, false>(&container, iterValid, iterWrapperCount);