summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorartemp <artem@mapnik.org>2014-11-19 16:31:16 +0100
committerartemp <artem@mapnik.org>2014-11-19 16:31:16 +0100
commit04cea00d5dba694387e308215227f20eac0668c7 (patch)
treedecf39ef87cd9a6c35c6568a21a9dfaeb0d8932e /platform
parentf7e813238da85270a974e4a045242af2dda0fda0 (diff)
downloadqtlocation-mapboxgl-04cea00d5dba694387e308215227f20eac0668c7.tar.gz
return unique_ptr from get_image_reader
Diffstat (limited to 'platform')
-rw-r--r--platform/default/image.cpp2
-rw-r--r--platform/default/image_reader.cpp7
2 files changed, 5 insertions, 4 deletions
diff --git a/platform/default/image.cpp b/platform/default/image.cpp
index 9a76ef33f6..8d0374c64c 100644
--- a/platform/default/image.cpp
+++ b/platform/default/image.cpp
@@ -76,7 +76,7 @@ Image::Image(std::string const& data)
{
try
{
- std::unique_ptr<image_reader> reader(get_image_reader(data.c_str(), data.size()));
+ auto reader = get_image_reader(data.c_str(), data.size());
width = reader->width();
height = reader->height();
img = ::std::unique_ptr<char[]>(new char[width * height * 4]());
diff --git a/platform/default/image_reader.cpp b/platform/default/image_reader.cpp
index 599ccb13a4..71b8e09918 100644
--- a/platform/default/image_reader.cpp
+++ b/platform/default/image_reader.cpp
@@ -1,3 +1,4 @@
+#include "mbgl/util/std.hpp"
#include "mbgl/util/image_reader.hpp"
#include "mbgl/util/png_reader.hpp"
#include "mbgl/util/jpeg_reader.hpp"
@@ -42,18 +43,18 @@ inline boost::optional<std::string> type_from_bytes(char const* data, size_t siz
return result_type();
}
-image_reader* get_image_reader(char const* data, size_t size)
+std::unique_ptr<image_reader> get_image_reader(char const* data, size_t size)
{
boost::optional<std::string> type = type_from_bytes(data,size);
if (type)
{
if (*type == "png")
{
- return new png_reader<boost::iostreams::array_source>(data, size);
+ return std::make_unique<png_reader<boost::iostreams::array_source>>(data, size);
}
else if (*type == "jpeg")
{
- return new jpeg_reader<boost::iostreams::array_source>(data, size);
+ return std::make_unique<jpeg_reader<boost::iostreams::array_source>>(data, size);
}
}
throw image_reader_exception("image_reader: can't determine type from input data");