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;
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);