1 #ifndef OSMIUM_IO_OUTPUT_ITERATOR_HPP 2 #define OSMIUM_IO_OUTPUT_ITERATOR_HPP 53 template <
typename TDest>
54 class OutputIterator :
public std::iterator<std::output_iterator_tag, osmium::memory::Item> {
61 m_destination(&destination) {
71 m_destination(&destination) {
72 destination.set_buffer_size(buffer_size);
89 m_destination->flush();
93 (*m_destination)(item);
98 return this->operator=(diff.
curr());
115 template <
typename TDest>
126 template <
typename TDest>
128 destination.set_buffer_size(buffer_size);
136 #endif // OSMIUM_IO_OUTPUT_ITERATOR_HPP OutputIterator(TDest &destination)
Definition: output_iterator.hpp:60
OutputIterator & operator=(const osmium::DiffObject &diff)
Definition: output_iterator.hpp:97
#define OSMIUM_DEPRECATED
Definition: compatibility.hpp:50
OSMIUM_DEPRECATED OutputIterator(TDest &destination, const size_t buffer_size)
Definition: output_iterator.hpp:70
TDest * m_destination
Definition: output_iterator.hpp:56
Definition: diff_object.hpp:63
Definition: output_iterator.hpp:54
Namespace for everything in the Osmium library.
Definition: assembler.hpp:59
OutputIterator & operator++(int)
Definition: output_iterator.hpp:109
OSMIUM_DEPRECATED OutputIterator< TDest > make_output_iterator(TDest &destination, const size_t buffer_size)
Definition: output_iterator.hpp:127
OutputIterator & operator*()
Definition: output_iterator.hpp:101
const osmium::OSMObject & curr() const noexcept
Definition: diff_object.hpp:116
OSMIUM_DEPRECATED void flush()
Definition: output_iterator.hpp:88
OutputIterator & operator=(const osmium::memory::Item &item)
Definition: output_iterator.hpp:92
OutputIterator & operator++()
Definition: output_iterator.hpp:105