1 #ifndef OSMIUM_RELATIONS_MANAGER_UTIL_HPP 2 #define OSMIUM_RELATIONS_MANAGER_UTIL_HPP 47 #include <initializer_list> 63 template <
typename TManager>
78 m_manager.handle_node(node);
85 m_manager.handle_way(way);
92 m_manager.handle_relation(relation);
101 m_manager.flush_output();
120 template <
typename ...TManager>
125 (void)std::initializer_list<int>{
126 (std::forward<TManager>(managers).prepare_for_lookup(), 0)...
146 template <
typename ...TManager>
149 while (
auto buffer = reader.read()) {
150 progress_bar.
update(reader.offset());
154 (void)std::initializer_list<int>{
155 (std::forward<TManager>(managers).prepare_for_lookup(), 0)...
180 template <
typename TStream>
184 stream <<
" relations: " << std::setw(8) << (mu.
relations_db / 1024) <<
" kB\n" 185 <<
" members: " << std::setw(8) << (mu.
members_db / 1024) <<
" kB\n" 186 <<
" stash: " << std::setw(8) << (mu.
stash / 1024) <<
" kB\n" 187 <<
" total: " << std::setw(8) << (total / 1024) <<
" kB\n" 188 <<
" ======================\n";
195 #endif // OSMIUM_RELATIONS_MANAGER_UTIL_HPP void print_used_memory(TStream &stream, const relations_manager_memory_usage &mu)
Definition: manager_util.hpp:181
void update(std::size_t current_size)
Definition: progress_bar.hpp:150
Definition: relation.hpp:168
std::size_t members_db
Definition: manager_util.hpp:166
Definition: handler.hpp:71
SecondPassHandler(TManager &manager) noexcept
Definition: manager_util.hpp:70
Definition: manager_util.hpp:64
TManager & m_manager
Definition: manager_util.hpp:66
Namespace for everything in the Osmium library.
Definition: assembler.hpp:53
void apply(TIterator it, TIterator end, THandlers &&... handlers)
Definition: visitor.hpp:218
std::size_t stash
Definition: manager_util.hpp:167
void node(const osmium::Node &node)
Definition: manager_util.hpp:77
Definition: reader.hpp:90
Definition: progress_bar.hpp:46
void relation(const osmium::Relation &relation)
Definition: manager_util.hpp:91
void file_done(std::size_t file_size)
Definition: progress_bar.hpp:166
Definition: manager_util.hpp:164
void flush()
Definition: manager_util.hpp:100
void read_relations(const osmium::io::File &file, TManager &&...managers)
Definition: manager_util.hpp:121
Definition: entity_bits.hpp:70
std::size_t relations_db
Definition: manager_util.hpp:165
void way(const osmium::Way &way)
Definition: manager_util.hpp:84