Plasma Engine  2.0
Loading...
Searching...
No Matches
RangeView_inl.h
1
2template <typename ValueType, typename IteratorType>
4 : m_Begin(begin)
5 , m_End(end)
6 , m_Next(next)
7 , m_Value(value)
8{
9}
10
11template <typename ValueType, typename IteratorType>
13{
14 this->m_pView->m_Next(this->m_Pos);
15}
16
17template <typename ValueType, typename IteratorType>
19{
20 return this->m_pView->m_Value(this->m_Pos);
21}
22
23template <typename ValueType, typename IteratorType>
26{
27 return m_pView == it2.m_pView && m_Pos == it2.m_Pos;
28}
29
30template <typename ValueType, typename IteratorType>
33{
34 return !(*this == it2);
35}
36
37template <typename ValueType, typename IteratorType>
39{
40 m_pView = view;
41 m_Pos = pos;
42}
43
44template <typename ValueType, typename IteratorType>
46{
47 return this->m_View->m_value(this->m_Pos);
48}
49
50template <typename ValueType, typename IteratorType>
52 : plRangeView<ValueType, IteratorType>::ConstIterator(view, pos)
53{
54}
This class uses delegates to define a range of values that can be enumerated using a forward iterator...
Definition RangeView.h:24
PL_ALWAYS_INLINE plRangeView(BeginCallback begin, EndCallback end, NextCallback next, ValueCallback value)
Initializes the plRangeView with the delegates used to enumerate the range.
Definition RangeView_inl.h:3
Const iterator, don't use directly, use ranged based for loops or call begin() end().
Definition RangeView.h:36