Esempio n. 1
0
            std::unique_ptr<osmium::io::Decompressor> create_decompressor(osmium::io::file_compression compression, const char* buffer, size_t size) {
                auto it = m_callbacks.find(compression);

                if (it != m_callbacks.end()) {
                    return std::unique_ptr<osmium::io::Decompressor>(std::get<2>(it->second)(buffer, size));
                }

                error(compression);
            }
Esempio n. 2
0
            std::unique_ptr<osmium::io::Compressor> create_compressor(osmium::io::file_compression compression, TArgs&&... args) {
                auto it = m_callbacks.find(compression);

                if (it != m_callbacks.end()) {
                    return std::unique_ptr<osmium::io::Compressor>(std::get<0>(it->second)(std::forward<TArgs>(args)...));
                }

                error(compression);
            }
Esempio n. 3
0
            std::unique_ptr<osmium::io::Decompressor> create_decompressor(osmium::io::file_compression compression, int fd) {
                auto it = m_callbacks.find(compression);

                if (it != m_callbacks.end()) {
                    return std::unique_ptr<osmium::io::Decompressor>(std::get<1>(it->second)(fd));
                }

                error(compression);
            }
Esempio n. 4
0
            const callbacks_type& find_callbacks(osmium::io::file_compression compression) const {
                const auto it = m_callbacks.find(compression);

                if (it != m_callbacks.end()) {
                    return it->second;
                }

                std::string error_message{"Support for compression '"};
                error_message += as_string(compression);
                error_message += "' not compiled into this binary";
                throw unsupported_file_format_error{error_message};
            }