Libosmium
2.7.1
Fast and flexible C++ library for working with OpenStreetMap data
|
#include <compression.hpp>
Public Types | |
using | create_compressor_type = std::function< osmium::io::Compressor *(int, fsync)> |
using | create_decompressor_type_fd = std::function< osmium::io::Decompressor *(int)> |
using | create_decompressor_type_buffer = std::function< osmium::io::Decompressor *(const char *, size_t)> |
Public Member Functions | |
bool | register_compression (osmium::io::file_compression compression, create_compressor_type create_compressor, create_decompressor_type_fd create_decompressor_fd, create_decompressor_type_buffer create_decompressor_buffer) |
template<typename... TArgs> | |
std::unique_ptr < osmium::io::Compressor > | create_compressor (osmium::io::file_compression compression, TArgs &&...args) |
std::unique_ptr < osmium::io::Decompressor > | create_decompressor (osmium::io::file_compression compression, int fd) |
std::unique_ptr < osmium::io::Decompressor > | create_decompressor (osmium::io::file_compression compression, const char *buffer, size_t size) |
Static Public Member Functions | |
static CompressionFactory & | instance () |
Private Types | |
using | compression_map_type = std::map< const osmium::io::file_compression, std::tuple< create_compressor_type, create_decompressor_type_fd, create_decompressor_type_buffer >> |
Private Member Functions | |
CompressionFactory ()=default | |
CompressionFactory (const CompressionFactory &)=delete | |
CompressionFactory & | operator= (const CompressionFactory &)=delete |
CompressionFactory (CompressionFactory &&)=delete | |
CompressionFactory & | operator= (CompressionFactory &&)=delete |
OSMIUM_NORETURN void | error (osmium::io::file_compression compression) |
Private Attributes | |
compression_map_type | m_callbacks |
This singleton factory class is used to register compression algorithms used for reading and writing OSM files.
For each algorithm we store two functions that construct a compressor and decompressor object, respectively.
|
private |
using osmium::io::CompressionFactory::create_compressor_type = std::function<osmium::io::Compressor*(int, fsync)> |
using osmium::io::CompressionFactory::create_decompressor_type_buffer = std::function<osmium::io::Decompressor*(const char*, size_t)> |
using osmium::io::CompressionFactory::create_decompressor_type_fd = std::function<osmium::io::Decompressor*(int)> |
|
privatedefault |
|
privatedelete |
|
privatedelete |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inlinestatic |
|
privatedelete |
|
privatedelete |
|
inline |
|
private |