1 #ifndef OSMIUM_IO_INPUT_ITERATOR_HPP 2 #define OSMIUM_IO_INPUT_ITERATOR_HPP 40 #include <type_traits> 55 template <
typename TSource,
typename TItem = osmium::memory::Item>
62 std::shared_ptr<osmium::memory::Buffer>
m_buffer;
67 m_buffer = std::make_shared<osmium::memory::Buffer>(std::move(m_source->read()));
68 if (!m_buffer || !*m_buffer) {
75 }
while (
m_iter == m_buffer->select<TItem>().end());
101 if (
m_iter == m_buffer->select<TItem>().end()) {
114 return m_source == rhs.m_source &&
115 m_buffer == rhs.m_buffer &&
120 return !(*
this == rhs);
135 template <
typename TSource,
typename TItem = osmium::memory::Item>
167 template <
typename TItem,
typename TSource>
177 #endif // OSMIUM_IO_INPUT_ITERATOR_HPP
Definition: item_iterator.hpp:119
Definition: reader_iterator.hpp:39
Namespace for everything in the Osmium library.
Definition: assembler.hpp:66
osmium::io::InputIterator< osmium::io::Reader > end(osmium::io::Reader &)
Definition: reader_iterator.hpp:45
InputIteratorRange< TSource, TItem > make_input_iterator_range(TSource &source)
Definition: input_iterator.hpp:168
osmium::io::InputIterator< osmium::io::Reader > begin(osmium::io::Reader &reader)
Definition: reader_iterator.hpp:41