1 #ifndef OSMIUM_EXPERIMENTAL_FLEX_READER_HPP 2 #define OSMIUM_EXPERIMENTAL_FLEX_READER_HPP 54 namespace experimental {
56 template <
typename TLocationHandler>
71 m_with_areas((entities &
osmium::osm_entity_bits::area) != 0),
72 m_entities((entities & ~
osmium::osm_entity_bits::area) | (m_with_areas ?
osmium::osm_entity_bits::node |
osmium::osm_entity_bits::way :
osmium::osm_entity_bits::
nothing)),
73 m_location_handler(location_handler),
74 m_reader(file, m_entities),
76 m_collector(m_assembler_config)
78 m_location_handler.ignore_errors();
99 std::vector<osmium::memory::Buffer> area_buffers;
101 area_buffers.push_back(std::move(area_buffer));
120 return m_reader.
close();
124 return m_reader.
eof();
137 #endif // OSMIUM_EXPERIMENTAL_FLEX_READER_HPP osmium::memory::Buffer read()
Definition: reader.hpp:326
bool m_with_areas
Definition: flex_reader.hpp:59
type
Definition: entity_bits.hpp:63
osmium::io::Header header()
Definition: flex_reader.hpp:115
TLocationHandler & m_location_handler
Definition: flex_reader.hpp:62
Definition: assembler.hpp:75
osmium::memory::Buffer read()
Definition: flex_reader.hpp:94
void close()
Definition: flex_reader.hpp:119
bool eof() const
Definition: reader.hpp:361
void apply(TIterator it, TIterator end, THandlers &...handlers)
Definition: visitor.hpp:234
FlexReader(const osmium::io::File &file, TLocationHandler &location_handler, osmium::osm_entity_bits::type entities=osmium::osm_entity_bits::nwr)
Definition: flex_reader.hpp:70
Definition: entity_bits.hpp:67
bool eof() const
Definition: flex_reader.hpp:123
node, way, or relation object
Definition: entity_bits.hpp:69
Namespace for everything in the Osmium library.
Definition: assembler.hpp:66
void add_buffer(const Buffer &buffer)
Definition: buffer.hpp:474
osmium::area::Assembler::config_type m_assembler_config
Definition: flex_reader.hpp:65
FlexReader(const char *filename, TLocationHandler &location_handler, osmium::osm_entity_bits::type entities=osmium::osm_entity_bits::nwr)
Definition: flex_reader.hpp:90
Definition: reader.hpp:91
osmium::area::MultipolygonCollector< osmium::area::Assembler > m_collector
Definition: flex_reader.hpp:66
osmium::io::Header header()
Definition: reader.hpp:296
Definition: buffer.hpp:97
Definition: entity_bits.hpp:66
HandlerPass2 & handler(const callback_func_type &callback=nullptr)
Definition: collector.hpp:486
osmium::io::Reader m_reader
Definition: flex_reader.hpp:64
Definition: entity_bits.hpp:65
FlexReader(const std::string &filename, TLocationHandler &location_handler, osmium::osm_entity_bits::type entities=osmium::osm_entity_bits::nwr)
Definition: flex_reader.hpp:86
void read_relations(TIter begin, TIter end)
Definition: collector.hpp:502
Definition: entity_bits.hpp:68
const osmium::area::MultipolygonCollector< osmium::area::Assembler > & collector() const
Definition: flex_reader.hpp:127
osmium::osm_entity_bits::type m_entities
Definition: flex_reader.hpp:60
void close()
Definition: reader.hpp:262
Definition: flex_reader.hpp:57
size_t commit()
Definition: buffer.hpp:335