Use boost functions for string manipulation instead of std ones in order to silence char-int conversion warnings on VS 2017.

This commit is contained in:
Stinkfist0
2017-04-03 23:02:37 +03:00
committed by Thomas Krijnen
parent e4a7d2a149
commit 2edf867818
2 changed files with 8 additions and 5 deletions
+2 -2
View File
@@ -101,8 +101,8 @@ namespace IfcGeom {
oss << "product-" << IfcParse::IfcGlobalId(guid).formatted(); oss << "product-" << IfcParse::IfcGlobalId(guid).formatted();
if (!_context.empty()) { if (!_context.empty()) {
std::string ctx = _context; std::string ctx = _context;
std::transform(ctx.begin(), ctx.end(), ctx.begin(), ::tolower); boost::to_lower(ctx);
std::replace(ctx.begin(), ctx.end(), ' ', '-'); boost::replace_all(ctx, " ", "-");
oss << "-" << ctx; oss << "-" << ctx;
} }
_unique_id = oss.str(); _unique_id = oss.str();
+5 -2
View File
@@ -27,6 +27,9 @@
#include "../ifcparse/Ifc2x3.h" #include "../ifcparse/Ifc2x3.h"
#endif #endif
#include <boost/algorithm/string/case_conv.hpp>
#include <boost/algorithm/string/replace.hpp>
namespace IfcGeom { namespace IfcGeom {
class IFC_GEOM_API SurfaceStyle { class IFC_GEOM_API SurfaceStyle {
public: public:
@@ -63,8 +66,8 @@ namespace IfcGeom {
{ {
std::stringstream sstr; std::stringstream sstr;
std::string sanitized = name; std::string sanitized = name;
std::transform(sanitized.begin(), sanitized.end(), sanitized.begin(), ::tolower); boost::to_lower(sanitized);
std::replace(sanitized.begin(), sanitized.end(), ' ', '-'); boost::replace_all(sanitized, " ", "-");
sstr << "surface-style-" << id << "-" << sanitized; sstr << "surface-style-" << id << "-" << sanitized;
this->name = sstr.str(); this->name = sstr.str();
} }