diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2018-10-17 16:28:31 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2018-10-23 12:23:40 +0200 |
commit | c87c25cc8407c33e4d88390836a9a52a1626c19e (patch) | |
tree | 25bc1f903144ad754116037f04de8c2e5cbbec7c /src/mbgl/programs | |
parent | 2766e64973b5f9eadf2e8a1cbbe43334e3e76d76 (diff) | |
download | qtlocation-mapboxgl-c87c25cc8407c33e4d88390836a9a52a1626c19e.tar.gz |
[core] don't use <sstream> and <iomanip> for string construction
Diffstat (limited to 'src/mbgl/programs')
-rw-r--r-- | src/mbgl/programs/program_parameters.cpp | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/src/mbgl/programs/program_parameters.cpp b/src/mbgl/programs/program_parameters.cpp index e76ec4be71..2c70062e08 100644 --- a/src/mbgl/programs/program_parameters.cpp +++ b/src/mbgl/programs/program_parameters.cpp @@ -1,7 +1,5 @@ #include <mbgl/programs/program_parameters.hpp> - -#include <iomanip> -#include <sstream> +#include <mbgl/util/string.hpp> namespace mbgl { @@ -9,14 +7,15 @@ ProgramParameters::ProgramParameters(const float pixelRatio, const bool overdraw, optional<std::string> cacheDir_) : defines([&] { - std::ostringstream ss; - ss.imbue(std::locale("C")); - ss.setf(std::ios_base::showpoint); - ss << "#define DEVICE_PIXEL_RATIO " << pixelRatio << std::endl; + std::string result; + result.reserve(32); + result += "#define DEVICE_PIXEL_RATIO "; + result += util::toString(pixelRatio, true); + result += "\n"; if (overdraw) { - ss << "#define OVERDRAW_INSPECTOR" << std::endl; + result += "#define OVERDRAW_INSPECTOR\n"; } - return ss.str(); + return result; }()), cacheDir(std::move(cacheDir_)) { } @@ -29,10 +28,15 @@ optional<std::string> ProgramParameters::cachePath(const char* name) const { if (!cacheDir) { return {}; } else { - std::ostringstream ss; - ss << *cacheDir << "/com.mapbox.gl.shader." << name << "." << std::setfill('0') - << std::setw(sizeof(size_t) * 2) << std::hex << std::hash<std::string>()(defines) << ".pbf"; - return ss.str(); + std::string result; + result.reserve(cacheDir->length() + 64); + result += *cacheDir; + result += "/com.mapbox.gl.shader."; + result += name; + result += "."; + result += util::toHex(std::hash<std::string>()(defines)); + result += ".pbf"; + return result; } } |