25 #ifndef WITERATORRANGE_H_
26 #define WITERATORRANGE_H_
39 template<
typename IteratorType >
76 IteratorType
const&
begin()
const;
83 IteratorType
const&
end()
const;
98 template<
typename IteratorType >
105 template<
typename IteratorType >
110 template<
typename IteratorType >
112 : m_begin( range.m_begin ),
117 template<
typename IteratorType >
129 template<
typename IteratorType >
135 template<
typename IteratorType >
148 template<
typename IteratorType >
195 template<
typename IteratorType >
202 template<
typename IteratorType >
207 template<
typename IteratorType >
209 : m_begin( other.m_begin ),
214 template<
typename IteratorType >
217 m_begin = range.
begin();
A temporary used to unpack an iterator range into two iterators.
IteratorType & m_begin
A reference to the iterator that will be assigned the beginning of the range.
WIteratorRangeUnpacker(IteratorType &begin, IteratorType &end)
Constructs the unpacker.
WIteratorRangeUnpacker & operator=(WIteratorRangeUnpacker const &)
Assignment is not allowed.
void operator=(WIteratorRange< IteratorType > const &range)
Unpacks the provided range into the iterators referenced by this object.
~WIteratorRangeUnpacker()
Destructor.
IteratorType & m_end
A reference to the iterator that will be assigned the end of the range.
WIteratorRange()
The standard constructor is not allowed.
IteratorType m_end
The end of the range.
~WIteratorRange()
Destructor.
IteratorType const & end() const
Returns the end of the range.
IteratorType m_begin
The begin of the range.
WIteratorRange & operator=(WIteratorRange const &range)
Assignment.
IteratorType const & begin() const
Returns the begin of the range.