26 template <
typename Iterator>
29 Range(Iterator b, Iterator e) : m_begin(b), m_end(e) {}
36 Iterator
begin()
const {
return m_begin; }
37 Iterator
end()
const {
return m_end; }
38 bool empty()
const {
return m_begin == m_end; }
39 std::size_t
size()
const {
return std::distance(m_begin, m_end); }
46 template <
typename Iterator>
51 template <
typename Iterator>