More fixes related to locales

This commit is contained in:
Thomas Krijnen
2015-02-17 20:23:21 +00:00
parent d79120dfcc
commit 65b0f22c76
2 changed files with 5 additions and 0 deletions
+2
View File
@@ -651,6 +651,8 @@ std::string Entity::toString(bool upper) {
Load(ids, true);
}
std::stringstream ss;
ss.imbue(std::locale::classic());
std::string dt = datatype();
if ( upper ) {
for (std::string::iterator p = dt.begin(); p != dt.end(); ++p ) *p = toupper(*p);
+3
View File
@@ -82,6 +82,8 @@ Ifc2x3::Type::Enum IfcWritableEntity::type() const { return _type; }
bool IfcWritableEntity::is(Ifc2x3::Type::Enum v) const { return _type == v; }
std::string IfcWritableEntity::toString(bool upper) {
std::stringstream ss;
ss.imbue(std::locale::classic());
std::string dt = datatype();
if ( upper ) {
for (std::string::iterator p = dt.begin(); p != dt.end(); ++p ) *p = toupper(*p);
@@ -279,6 +281,7 @@ bool IfcWriteArgument::isNull() const { return argumentType() == argument_type_n
ArgumentPtr IfcWriteArgument::operator [] (unsigned int i) const { throw IfcParse::IfcException("Invalid cast"); }
std::string IfcWriteArgument::toString(bool upper) const {
std::ostringstream str;
str.imbue(std::locale::classic());
StringBuilderVisitor v(str, upper);
container.apply_visitor(v);
return v;