Support Class Library
A set of tools providing classes and utility
OpStreamIterator.h
Go to the documentation of this file.
1 #pragma once
4 
5 namespace scl{
6  namespace stream{
7  namespace details{
8  namespace iterator{
14  template <class T, class ParentT = T>
15  class OpStreamIterator : public virtual BaseStreamIterator<T>{
16  public:
22 
23  using parent_type = std::shared_ptr<parent_iterator_type>;
24 
29  parent_type parent() const{ return this->parent_; };
30 
35  explicit OpStreamIterator(parent_type parent) : parent_{std::move(parent)}{
36  }
37 
41  bool hasNext() const override{ return this->parent_->hasNext(); }
42 
43  protected:
49  };
50  }
51  }
52  }
53 }
parent_type parent() const
Getter for the parent iterator.
Iterator powering an intermediate operation.
Global namespace of the SCL.
Definition: alias.hpp:3
OpStreamIterator(parent_type parent)
Construct from a parent iterator.
std::shared_ptr< parent_iterator_type > parent_type
parent_type parent_
This iterator&#39;s parent.
A class for iterators that start a stream chain.