summaryrefslogtreecommitdiff
path: root/platform/default
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2016-06-20 23:34:35 +0300
committerBruno de Oliveira Abinader <bruno@mapbox.com>2016-06-21 10:29:15 +0300
commitb06176cf116eefb821f9d51c89c9c6bad6b67d41 (patch)
tree0370b9a885bfb326cddab808068c8a7b4a83831f /platform/default
parent77f309e7a07e248b4e9460e3e38b6b76f95f0dc9 (diff)
downloadqtlocation-mapboxgl-b06176cf116eefb821f9d51c89c9c6bad6b67d41.tar.gz
[core] Replace boost iostream with standard {i,s}stream
Fixes #4915.
Diffstat (limited to 'platform/default')
-rw-r--r--platform/default/jpeg_reader.cpp31
-rw-r--r--platform/default/png_reader.cpp20
2 files changed, 16 insertions, 35 deletions
diff --git a/platform/default/jpeg_reader.cpp b/platform/default/jpeg_reader.cpp
index 08b6c299d6..bb99aab55c 100644
--- a/platform/default/jpeg_reader.cpp
+++ b/platform/default/jpeg_reader.cpp
@@ -1,14 +1,8 @@
#include <mbgl/util/image.hpp>
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunknown-pragmas"
-#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
-#pragma GCC diagnostic ignored "-Wshadow"
-#include <boost/iostreams/stream.hpp>
-#pragma GCC diagnostic pop
-
-#include <boost/iostreams/device/file.hpp>
-#include <boost/iostreams/device/array.hpp>
+#include <istream>
+#include <sstream>
+#include <array>
extern "C"
{
@@ -17,27 +11,24 @@ extern "C"
namespace mbgl {
-using source_type = boost::iostreams::array_source;
-using input_stream = boost::iostreams::stream<source_type>;
-
const static unsigned BUF_SIZE = 4096;
struct jpeg_stream_wrapper {
jpeg_source_mgr manager;
- input_stream * stream;
- JOCTET buffer[BUF_SIZE];
+ std::istream* stream;
+ std::array<JOCTET, BUF_SIZE> buffer;
};
static void init_source(j_decompress_ptr cinfo) {
jpeg_stream_wrapper* wrap = reinterpret_cast<jpeg_stream_wrapper*>(cinfo->src);
- wrap->stream->seekg(0,std::ios_base::beg);
+ wrap->stream->seekg(0);
}
static boolean fill_input_buffer(j_decompress_ptr cinfo) {
jpeg_stream_wrapper* wrap = reinterpret_cast<jpeg_stream_wrapper*>(cinfo->src);
- wrap->stream->read(reinterpret_cast<char*>(&wrap->buffer[0]),BUF_SIZE);
+ wrap->stream->read(reinterpret_cast<char*>(&wrap->buffer[0]), BUF_SIZE);
std::streamsize size = wrap->stream->gcount();
- wrap->manager.next_input_byte = wrap->buffer;
+ wrap->manager.next_input_byte = wrap->buffer.data();
wrap->manager.bytes_in_buffer = BUF_SIZE;
return (size > 0) ? TRUE : FALSE;
}
@@ -62,7 +53,7 @@ static void skip(j_decompress_ptr cinfo, long count) {
static void term(j_decompress_ptr) {}
-static void attach_stream(j_decompress_ptr cinfo, input_stream* in) {
+static void attach_stream(j_decompress_ptr cinfo, std::istream* in) {
if (cinfo->src == nullptr) {
cinfo->src = (struct jpeg_source_mgr *)
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, sizeof(jpeg_stream_wrapper));
@@ -98,8 +89,8 @@ struct jpeg_info_guard {
};
PremultipliedImage decodeJPEG(const uint8_t* data, size_t size) {
- source_type source(reinterpret_cast<const char*>(data), size);
- input_stream stream(source);
+ std::istringstream source(std::string(reinterpret_cast<const char*>(data), size));
+ std::istream stream(source.rdbuf());
jpeg_decompress_struct cinfo;
jpeg_info_guard iguard(&cinfo);
diff --git a/platform/default/png_reader.cpp b/platform/default/png_reader.cpp
index 3d1165b13f..e3f6fdef49 100644
--- a/platform/default/png_reader.cpp
+++ b/platform/default/png_reader.cpp
@@ -2,15 +2,8 @@
#include <mbgl/util/premultiply.hpp>
#include <mbgl/platform/log.hpp>
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunknown-pragmas"
-#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
-#pragma GCC diagnostic ignored "-Wshadow"
-#include <boost/iostreams/stream.hpp>
-#pragma GCC diagnostic pop
-
-#include <boost/iostreams/device/file.hpp>
-#include <boost/iostreams/device/array.hpp>
+#include <istream>
+#include <sstream>
extern "C"
{
@@ -19,9 +12,6 @@ extern "C"
namespace mbgl {
-using source_type = boost::iostreams::array_source;
-using input_stream = boost::iostreams::stream<source_type>;
-
static void user_error_fn(png_structp, png_const_charp error_msg) {
throw std::runtime_error(std::string("failed to read invalid png: '") + error_msg + "'");
}
@@ -31,7 +21,7 @@ static void user_warning_fn(png_structp, png_const_charp warning_msg) {
}
static void png_read_data(png_structp png_ptr, png_bytep data, png_size_t length) {
- input_stream * fin = reinterpret_cast<input_stream*>(png_get_io_ptr(png_ptr));
+ std::istream* fin = reinterpret_cast<std::istream*>(png_get_io_ptr(png_ptr));
fin->read(reinterpret_cast<char*>(data), length);
std::streamsize read_count = fin->gcount();
if (read_count < 0 || static_cast<png_size_t>(read_count) != length)
@@ -54,8 +44,8 @@ struct png_struct_guard {
};
PremultipliedImage decodePNG(const uint8_t* data, size_t size) {
- source_type source(reinterpret_cast<const char*>(data), size);
- input_stream stream(source);
+ std::istringstream source(std::string(reinterpret_cast<const char*>(data), size));
+ std::istream stream(source.rdbuf());
png_byte header[8] = { 0 };
stream.read(reinterpret_cast<char*>(header), 8);