[DEV] change std::to_string perimeter
This commit is contained in:
parent
ab78695585
commit
e56a7466c6
28
etk/Color.h
28
etk/Color.h
@ -337,15 +337,15 @@ namespace etk {
|
||||
template<int MY_TYPE_SIZE> std::ostream& operator <<(std::ostream& _os, const Color<uint8_t, MY_TYPE_SIZE>& _obj) { // RGB & RGBA 8 bits
|
||||
if (MY_TYPE_SIZE >= 3) {
|
||||
_os << "#";
|
||||
_os << (std::to_string<uint32_t, 2>(_obj.r(), std::hex)).c_str();
|
||||
_os << (std::to_string_format<uint32_t, 2>(_obj.r(), std::hex)).c_str();
|
||||
if (MY_TYPE_SIZE >= 2) {
|
||||
_os << (std::to_string<uint32_t, 2>(_obj.g(), std::hex)).c_str();
|
||||
_os << (std::to_string_format<uint32_t, 2>(_obj.g(), std::hex)).c_str();
|
||||
}
|
||||
if (MY_TYPE_SIZE >= 3) {
|
||||
_os << (std::to_string<uint32_t, 2>(_obj.b(), std::hex)).c_str();
|
||||
_os << (std::to_string_format<uint32_t, 2>(_obj.b(), std::hex)).c_str();
|
||||
}
|
||||
if (MY_TYPE_SIZE >= 4) {
|
||||
_os << (std::to_string<uint32_t, 2>(_obj.a(), std::hex)).c_str();
|
||||
_os << (std::to_string_format<uint32_t, 2>(_obj.a(), std::hex)).c_str();
|
||||
}
|
||||
} else {
|
||||
if (MY_TYPE_SIZE >= 2) {
|
||||
@ -354,10 +354,10 @@ namespace etk {
|
||||
_os << "Mono";
|
||||
}
|
||||
_os << "[U8](";
|
||||
_os << "0x" << (std::to_string<uint32_t, 2>(_obj.r(), std::hex)).c_str();
|
||||
_os << "0x" << (std::to_string_format<uint32_t, 2>(_obj.r(), std::hex)).c_str();
|
||||
if (MY_TYPE_SIZE >= 2) {
|
||||
_os << ",";
|
||||
_os << "0x" << (std::to_string<uint32_t, 2>(_obj.g(), std::hex)).c_str();
|
||||
_os << "0x" << (std::to_string_format<uint32_t, 2>(_obj.g(), std::hex)).c_str();
|
||||
}
|
||||
_os << ")";
|
||||
}
|
||||
@ -375,18 +375,18 @@ namespace etk {
|
||||
_os << "Mono";
|
||||
}
|
||||
_os << "[U16](";
|
||||
_os << "0x" << (std::to_string<uint32_t, 4>(_obj.r(), std::hex)).c_str();
|
||||
_os << "0x" << (std::to_string_format<uint32_t, 4>(_obj.r(), std::hex)).c_str();
|
||||
if (MY_TYPE_SIZE >= 2) {
|
||||
_os << ",";
|
||||
_os << "0x" << (std::to_string<uint32_t, 4>(_obj.g(), std::hex)).c_str();
|
||||
_os << "0x" << (std::to_string_format<uint32_t, 4>(_obj.g(), std::hex)).c_str();
|
||||
}
|
||||
if (MY_TYPE_SIZE >= 3) {
|
||||
_os << ",";
|
||||
_os << "0x" << (std::to_string<uint32_t, 4>(_obj.b(), std::hex)).c_str();
|
||||
_os << "0x" << (std::to_string_format<uint32_t, 4>(_obj.b(), std::hex)).c_str();
|
||||
}
|
||||
if (MY_TYPE_SIZE >= 4) {
|
||||
_os << ",";
|
||||
_os << "0x" << (std::to_string<uint32_t, 4>(_obj.a(), std::hex)).c_str();
|
||||
_os << "0x" << (std::to_string_format<uint32_t, 4>(_obj.a(), std::hex)).c_str();
|
||||
}
|
||||
_os << ")";
|
||||
return _os;
|
||||
@ -403,18 +403,18 @@ namespace etk {
|
||||
_os << "Mono";
|
||||
}
|
||||
_os << "[U32](";
|
||||
_os << "0x" << (std::to_string<uint32_t, 8>(_obj.r(), std::hex)).c_str();
|
||||
_os << "0x" << (std::to_string_format<uint32_t, 8>(_obj.r(), std::hex)).c_str();
|
||||
if (MY_TYPE_SIZE >= 2) {
|
||||
_os << ",";
|
||||
_os << "0x" << (std::to_string<uint32_t, 8>(_obj.g(), std::hex)).c_str();
|
||||
_os << "0x" << (std::to_string_format<uint32_t, 8>(_obj.g(), std::hex)).c_str();
|
||||
}
|
||||
if (MY_TYPE_SIZE >= 3) {
|
||||
_os << ",";
|
||||
_os << "0x" << (std::to_string<uint32_t, 8>(_obj.b(), std::hex)).c_str();
|
||||
_os << "0x" << (std::to_string_format<uint32_t, 8>(_obj.b(), std::hex)).c_str();
|
||||
}
|
||||
if (MY_TYPE_SIZE >= 4) {
|
||||
_os << ",";
|
||||
_os << "0x" << (std::to_string<uint32_t, 8>(_obj.a(), std::hex)).c_str();
|
||||
_os << "0x" << (std::to_string_format<uint32_t, 8>(_obj.a(), std::hex)).c_str();
|
||||
}
|
||||
_os << ")";
|
||||
return _os;
|
||||
|
@ -126,7 +126,7 @@ namespace etk {
|
||||
tmpStr.erase(0, posComa+1);
|
||||
m_floats[1] = std::stob(tmpStr);
|
||||
}
|
||||
TK_VERBOSE("Parse : \"" << _str << "\" ==> " << *this);
|
||||
TK_VERBOSE("Parse : '" << _str << "' ==> " << *this);
|
||||
}
|
||||
template<> Vector2D<bool>::Vector2D(const std::u32string& _str) {
|
||||
m_floats[0] = false;
|
||||
@ -243,8 +243,7 @@ namespace etk {
|
||||
return str;
|
||||
}
|
||||
|
||||
template<> Vector2D<uint32_t>::Vector2D(const std::string& _str)
|
||||
{
|
||||
template<> Vector2D<uint32_t>::Vector2D(const std::string& _str) {
|
||||
m_floats[0] = 0;
|
||||
m_floats[1] = 0;
|
||||
// copy to permit to modify it :
|
||||
@ -375,6 +374,9 @@ std::string std::to_string(const vec2& _obj) {
|
||||
str += ")";
|
||||
return str;
|
||||
}
|
||||
std::u32string std::to_u32string(const vec2& _obj) {
|
||||
return std::to_u32string(std::to_string(_obj));
|
||||
}
|
||||
|
||||
std::string std::to_string(const ivec2& _obj) {
|
||||
std::string str;
|
||||
@ -385,6 +387,9 @@ std::string std::to_string(const ivec2& _obj) {
|
||||
str += ")";
|
||||
return str;
|
||||
}
|
||||
std::u32string std::to_u32string(const ivec2& _obj) {
|
||||
return std::to_u32string(std::to_string(_obj));
|
||||
}
|
||||
|
||||
std::string std::to_string(const uivec2& _obj) {
|
||||
std::string str;
|
||||
@ -395,6 +400,9 @@ std::string std::to_string(const uivec2& _obj) {
|
||||
str += ")";
|
||||
return str;
|
||||
}
|
||||
std::u32string std::to_u32string(const uivec2& _obj) {
|
||||
return std::to_u32string(std::to_string(_obj));
|
||||
}
|
||||
|
||||
std::string std::to_string(const bvec2& _obj) {
|
||||
std::string str;
|
||||
@ -405,3 +413,39 @@ std::string std::to_string(const bvec2& _obj) {
|
||||
str += ")";
|
||||
return str;
|
||||
}
|
||||
std::u32string std::to_u32string(const bvec2& _obj) {
|
||||
return std::to_u32string(std::to_string(_obj));
|
||||
}
|
||||
|
||||
bool std::from_string(vec2& _variableRet, const std::string& _value) {
|
||||
_variableRet = vec2(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(vec2& _variableRet, const std::u32string& _value) {
|
||||
return from_string(_variableRet, std::to_string(_value));
|
||||
}
|
||||
|
||||
bool std::from_string(ivec2& _variableRet, const std::string& _value) {
|
||||
_variableRet = ivec2(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(ivec2& _variableRet, const std::u32string& _value) {
|
||||
return from_string(_variableRet, std::to_string(_value));
|
||||
}
|
||||
|
||||
bool std::from_string(uivec2& _variableRet, const std::string& _value) {
|
||||
_variableRet = uivec2(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(uivec2& _variableRet, const std::u32string& _value) {
|
||||
return from_string(_variableRet, std::to_string(_value));
|
||||
}
|
||||
|
||||
bool std::from_string(bvec2& _variableRet, const std::string& _value) {
|
||||
_variableRet = bvec2(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(bvec2& _variableRet, const std::u32string& _value) {
|
||||
return from_string(_variableRet, std::to_string(_value));
|
||||
}
|
||||
|
||||
|
@ -379,6 +379,18 @@ namespace std {
|
||||
std::string to_string(const bvec2& _obj);
|
||||
std::string to_string(const ivec2& _obj);
|
||||
std::string to_string(const uivec2& _obj);
|
||||
std::u32string to_u32string(const vec2& _obj);
|
||||
std::u32string to_u32string(const bvec2& _obj);
|
||||
std::u32string to_u32string(const ivec2& _obj);
|
||||
std::u32string to_u32string(const uivec2& _obj);
|
||||
bool from_string(vec2& _variableRet, const std::string& _value);
|
||||
bool from_string(bvec2& _variableRet, const std::string& _value);
|
||||
bool from_string(ivec2& _variableRet, const std::string& _value);
|
||||
bool from_string(uivec2& _variableRet, const std::string& _value);
|
||||
bool from_string(vec2& _variableRet, const std::u32string& _value);
|
||||
bool from_string(bvec2& _variableRet, const std::u32string& _value);
|
||||
bool from_string(ivec2& _variableRet, const std::u32string& _value);
|
||||
bool from_string(uivec2& _variableRet, const std::u32string& _value);
|
||||
};
|
||||
|
||||
namespace etk {
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
#include <etk/math/Vector3D.h>
|
||||
|
||||
std::ostream& etk::operator <<(std::ostream& _os, const etk::Vector3D<int32_t>& _obj) {
|
||||
std::ostream& etk::operator <<(std::ostream& _os, const ivec3& _obj) {
|
||||
_os << "(";
|
||||
_os << _obj.x();
|
||||
_os << ",";
|
||||
@ -19,7 +19,7 @@ std::ostream& etk::operator <<(std::ostream& _os, const etk::Vector3D<int32_t>&
|
||||
return _os;
|
||||
}
|
||||
|
||||
std::ostream& etk::operator <<(std::ostream& _os, const btVector3& _obj) {
|
||||
std::ostream& etk::operator <<(std::ostream& _os, const vec3& _obj) {
|
||||
_os << "(";
|
||||
_os << _obj.x();
|
||||
_os << ",";
|
||||
@ -30,7 +30,7 @@ std::ostream& etk::operator <<(std::ostream& _os, const btVector3& _obj) {
|
||||
return _os;
|
||||
}
|
||||
|
||||
std::ostream& etk::operator <<(std::ostream& _os, const etk::Vector3D<uint32_t>& _obj) {
|
||||
std::ostream& etk::operator <<(std::ostream& _os, const uivec3& _obj) {
|
||||
_os << "(";
|
||||
_os << _obj.x();
|
||||
_os << ",";
|
||||
@ -41,7 +41,7 @@ std::ostream& etk::operator <<(std::ostream& _os, const etk::Vector3D<uint32_t>&
|
||||
return _os;
|
||||
}
|
||||
|
||||
std::ostream& etk::operator <<(std::ostream& _os, const etk::Vector3D<bool>& _obj) {
|
||||
std::ostream& etk::operator <<(std::ostream& _os, const bvec3& _obj) {
|
||||
_os << "(";
|
||||
_os << _obj.x();
|
||||
_os << ",";
|
||||
@ -121,6 +121,9 @@ std::string std::to_string(const vec3& _obj) {
|
||||
str += ")";
|
||||
return str;
|
||||
}
|
||||
std::u32string std::to_u32string(const vec3& _obj) {
|
||||
return std::to_u32string(std::to_string(_obj));
|
||||
}
|
||||
|
||||
std::string std::to_string(const ivec3& _obj) {
|
||||
std::string str;
|
||||
@ -133,6 +136,9 @@ std::string std::to_string(const ivec3& _obj) {
|
||||
str += ")";
|
||||
return str;
|
||||
}
|
||||
std::u32string std::to_u32string(const ivec3& _obj) {
|
||||
return std::to_u32string(std::to_string(_obj));
|
||||
}
|
||||
|
||||
std::string std::to_string(const uivec3& _obj) {
|
||||
std::string str;
|
||||
@ -145,6 +151,9 @@ std::string std::to_string(const uivec3& _obj) {
|
||||
str += ")";
|
||||
return str;
|
||||
}
|
||||
std::u32string std::to_u32string(const uivec3& _obj) {
|
||||
return std::to_u32string(std::to_string(_obj));
|
||||
}
|
||||
|
||||
std::string std::to_string(const bvec3& _obj) {
|
||||
std::string str;
|
||||
@ -157,3 +166,178 @@ std::string std::to_string(const bvec3& _obj) {
|
||||
str += ")";
|
||||
return str;
|
||||
}
|
||||
std::u32string std::to_u32string(const bvec3& _obj) {
|
||||
return std::to_u32string(std::to_string(_obj));
|
||||
}
|
||||
|
||||
bool std::from_string(vec3& _variableRet, const std::string& _value) {
|
||||
float floats[3];
|
||||
floats[0] = 0;
|
||||
floats[1] = 0;
|
||||
floats[2] = 0;
|
||||
// copy to permit to modify it :
|
||||
std::string tmpStr = _value;
|
||||
if (tmpStr[0] == '(') {
|
||||
tmpStr.erase(tmpStr.begin());
|
||||
}
|
||||
if (tmpStr[tmpStr.size()-1] == ')') {
|
||||
tmpStr.erase(tmpStr.end()-1);
|
||||
}
|
||||
size_t posComa = tmpStr.find(',');
|
||||
if (posComa == std::string::npos) {
|
||||
// no coma ...
|
||||
// in every case, we parse the first element :
|
||||
floats[0] = std::stof(tmpStr);
|
||||
floats[1] = floats[0];
|
||||
floats[2] = floats[1];
|
||||
} else {
|
||||
floats[0] = std::stof(std::string(tmpStr, 0, posComa));
|
||||
tmpStr.erase(0,posComa+1);
|
||||
posComa = tmpStr.find(',');
|
||||
if (posComa == std::string::npos) {
|
||||
// no coma ...
|
||||
// in every case, we parse the first element :
|
||||
floats[1] = std::stof(tmpStr);
|
||||
floats[2] = floats[1];
|
||||
} else {
|
||||
floats[1] = std::stof(std::string(tmpStr, 0, posComa));
|
||||
tmpStr.erase(0,posComa+1);
|
||||
floats[2] = std::stof(tmpStr);
|
||||
}
|
||||
}
|
||||
_variableRet.setValue(floats[0], floats[1], floats[2]);
|
||||
TK_VERBOSE("Parse : '" << _value << "' ==> " << _variableRet);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(vec3& _variableRet, const std::u32string& _value) {
|
||||
return from_string(_variableRet, std::to_string(_value));
|
||||
}
|
||||
|
||||
bool std::from_string(ivec3& _variableRet, const std::string& _value) {
|
||||
int32_t floats[3];
|
||||
floats[0] = 0;
|
||||
floats[1] = 0;
|
||||
floats[2] = 0;
|
||||
// copy to permit to modify it :
|
||||
std::string tmpStr = _value;
|
||||
if (tmpStr[0] == '(') {
|
||||
tmpStr.erase(tmpStr.begin());
|
||||
}
|
||||
if (tmpStr[tmpStr.size()-1] == ')') {
|
||||
tmpStr.erase(tmpStr.end()-1);
|
||||
}
|
||||
size_t posComa = tmpStr.find(',');
|
||||
if (posComa == std::string::npos) {
|
||||
// no coma ...
|
||||
// in every case, we parse the first element :
|
||||
floats[0] = std::stoi(tmpStr);
|
||||
floats[1] = floats[0];
|
||||
floats[2] = floats[1];
|
||||
} else {
|
||||
floats[0] = std::stoi(std::string(tmpStr, 0, posComa));
|
||||
tmpStr.erase(0,posComa+1);
|
||||
posComa = tmpStr.find(',');
|
||||
if (posComa == std::string::npos) {
|
||||
// no coma ...
|
||||
// in every case, we parse the first element :
|
||||
floats[1] = std::stoi(tmpStr);
|
||||
floats[2] = floats[1];
|
||||
} else {
|
||||
floats[1] = std::stoi(std::string(tmpStr, 0, posComa));
|
||||
tmpStr.erase(0,posComa+1);
|
||||
floats[2] = std::stoi(tmpStr);
|
||||
}
|
||||
}
|
||||
_variableRet.setValue(floats[0], floats[1], floats[2]);
|
||||
TK_VERBOSE("Parse : '" << _value << "' ==> " << _variableRet);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(ivec3& _variableRet, const std::u32string& _value) {
|
||||
return from_string(_variableRet, std::to_string(_value));
|
||||
}
|
||||
|
||||
bool std::from_string(uivec3& _variableRet, const std::string& _value) {
|
||||
uint32_t floats[3];
|
||||
floats[0] = 0;
|
||||
floats[1] = 0;
|
||||
floats[2] = 0;
|
||||
// copy to permit to modify it :
|
||||
std::string tmpStr = _value;
|
||||
if (tmpStr[0] == '(') {
|
||||
tmpStr.erase(tmpStr.begin());
|
||||
}
|
||||
if (tmpStr[tmpStr.size()-1] == ')') {
|
||||
tmpStr.erase(tmpStr.end()-1);
|
||||
}
|
||||
size_t posComa = tmpStr.find(',');
|
||||
if (posComa == std::string::npos) {
|
||||
// no coma ...
|
||||
// in every case, we parse the first element :
|
||||
floats[0] = std::stoi(tmpStr);
|
||||
floats[1] = floats[0];
|
||||
floats[2] = floats[1];
|
||||
} else {
|
||||
floats[0] = std::stoi(std::string(tmpStr, 0, posComa));
|
||||
tmpStr.erase(0,posComa+1);
|
||||
posComa = tmpStr.find(',');
|
||||
if (posComa == std::string::npos) {
|
||||
// no coma ...
|
||||
// in every case, we parse the first element :
|
||||
floats[1] = std::stoi(tmpStr);
|
||||
floats[2] = floats[1];
|
||||
} else {
|
||||
floats[1] = std::stoi(std::string(tmpStr, 0, posComa));
|
||||
tmpStr.erase(0,posComa+1);
|
||||
floats[2] = std::stoi(tmpStr);
|
||||
}
|
||||
}
|
||||
_variableRet.setValue(floats[0], floats[1], floats[2]);
|
||||
TK_VERBOSE("Parse : '" << _value << "' ==> " << _variableRet);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(uivec3& _variableRet, const std::u32string& _value) {
|
||||
return from_string(_variableRet, std::to_string(_value));
|
||||
}
|
||||
|
||||
bool std::from_string(bvec3& _variableRet, const std::string& _value) {
|
||||
bool floats[3];
|
||||
floats[0] = false;
|
||||
floats[1] = false;
|
||||
floats[2] = false;
|
||||
// copy to permit to modify it :
|
||||
std::string tmpStr = _value;
|
||||
if (tmpStr[0] == '(') {
|
||||
tmpStr.erase(tmpStr.begin());
|
||||
}
|
||||
if (tmpStr[tmpStr.size()-1] == ')') {
|
||||
tmpStr.erase(tmpStr.end()-1);
|
||||
}
|
||||
size_t posComa = tmpStr.find(',');
|
||||
if (posComa == std::string::npos) {
|
||||
// no coma ...
|
||||
// in every case, we parse the first element :
|
||||
floats[0] = std::stob(tmpStr);
|
||||
floats[1] = floats[0];
|
||||
floats[2] = floats[1];
|
||||
} else {
|
||||
floats[0] = std::stob(std::string(tmpStr, 0, posComa));
|
||||
tmpStr.erase(0,posComa+1);
|
||||
posComa = tmpStr.find(',');
|
||||
if (posComa == std::string::npos) {
|
||||
// no coma ...
|
||||
// in every case, we parse the first element :
|
||||
floats[1] = std::stob(tmpStr);
|
||||
floats[2] = floats[1];
|
||||
} else {
|
||||
floats[1] = std::stob(std::string(tmpStr, 0, posComa));
|
||||
tmpStr.erase(0,posComa+1);
|
||||
floats[2] = std::stob(tmpStr);
|
||||
}
|
||||
}
|
||||
_variableRet.setValue(floats[0], floats[1], floats[2]);
|
||||
TK_VERBOSE("Parse : '" << _value << "' ==> " << _variableRet);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(bvec3& _variableRet, const std::u32string& _value) {
|
||||
return from_string(_variableRet, std::to_string(_value));
|
||||
}
|
@ -475,6 +475,18 @@ namespace std {
|
||||
std::string to_string(const bvec3& _obj);
|
||||
std::string to_string(const ivec3& _obj);
|
||||
std::string to_string(const uivec3& _obj);
|
||||
std::u32string to_u32string(const vec3& _obj);
|
||||
std::u32string to_u32string(const bvec3& _obj);
|
||||
std::u32string to_u32string(const ivec3& _obj);
|
||||
std::u32string to_u32string(const uivec3& _obj);
|
||||
bool from_string(vec3& _variableRet, const std::string& _value);
|
||||
bool from_string(bvec3& _variableRet, const std::string& _value);
|
||||
bool from_string(ivec3& _variableRet, const std::string& _value);
|
||||
bool from_string(uivec3& _variableRet, const std::string& _value);
|
||||
bool from_string(vec3& _variableRet, const std::u32string& _value);
|
||||
bool from_string(bvec3& _variableRet, const std::u32string& _value);
|
||||
bool from_string(ivec3& _variableRet, const std::u32string& _value);
|
||||
bool from_string(uivec3& _variableRet, const std::u32string& _value);
|
||||
};
|
||||
|
||||
namespace etk {
|
||||
|
128
etk/stdTools.cpp
128
etk/stdTools.cpp
@ -881,3 +881,131 @@ void std::sort(std::vector<std::u32string *> &_list) {
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
template<> bool std::from_string<size_t>(size_t& _variableRet, const std::string& _value) {
|
||||
_variableRet = stod(_value);
|
||||
return true;
|
||||
}
|
||||
template<> bool std::from_string<size_t>(size_t& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stod(_value);
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
bool std::from_string(float& _variableRet, const std::string& _value) {
|
||||
_variableRet = stof(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(float& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stof(_value);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool std::from_string(char& _variableRet, const std::string& _value) {
|
||||
_variableRet = stoi(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(char& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stoi(_value);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool std::from_string(unsigned char& _variableRet, const std::string& _value) {
|
||||
_variableRet = stoi(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(unsigned char& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stoi(_value);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool std::from_string(short& _variableRet, const std::string& _value) {
|
||||
_variableRet = stoi(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(short& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stoi(_value);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool std::from_string(unsigned short& _variableRet, const std::string& _value) {
|
||||
_variableRet = stoi(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(unsigned short& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stoi(_value);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool std::from_string(int& _variableRet, const std::string& _value) {
|
||||
_variableRet = stoi(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(int& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stoi(_value);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool std::from_string(unsigned int& _variableRet, const std::string& _value) {
|
||||
_variableRet = stoi(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(unsigned int& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stoi(_value);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool std::from_string(long double& _variableRet, const std::string& _value) {
|
||||
_variableRet = stold(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(long double& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stold(_value);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool std::from_string(long& _variableRet, const std::string& _value) {
|
||||
_variableRet = stol(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(long& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stol(_value);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool std::from_string(long long& _variableRet, const std::string& _value) {
|
||||
_variableRet = stoll(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(long long& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stoll(_value);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool std::from_string(unsigned long& _variableRet, const std::string& _value) {
|
||||
_variableRet = stoul(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(unsigned long& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stoul(_value);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool std::from_string(unsigned long long& _variableRet, const std::string& _value) {
|
||||
_variableRet = stoull(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(unsigned long long& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stoull(_value);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool std::from_string(bool& _variableRet, const std::string& _value) {
|
||||
_variableRet = stob(_value);
|
||||
return true;
|
||||
}
|
||||
bool std::from_string(bool& _variableRet, const std::u32string& _value) {
|
||||
_variableRet = stob(_value);
|
||||
return true;
|
||||
}
|
||||
|
@ -67,6 +67,10 @@ namespace std {
|
||||
std::string to_string(const std::u32string& _obj);
|
||||
//! @previous
|
||||
std::string to_string(bool _val);
|
||||
//! @previous
|
||||
inline std::string to_string(std::string _val) {
|
||||
return _val;
|
||||
}
|
||||
#if (defined(__TARGET_OS__Android))
|
||||
//! @previous
|
||||
std::string to_string(int _val);
|
||||
@ -111,7 +115,8 @@ namespace std {
|
||||
//! @previous
|
||||
std::u32string to_u32string(long double _val);
|
||||
|
||||
template<class T, int size=0> std::string to_string(T t, std::ios_base & (*f)(std::ios_base&)) {
|
||||
|
||||
template<class TYPE, int size=0> std::string to_string_format(TYPE t, std::ios_base & (*f)(std::ios_base&)) {
|
||||
std::ostringstream oss;
|
||||
if (size==0) {
|
||||
oss << f << t;
|
||||
@ -120,7 +125,7 @@ namespace std {
|
||||
}
|
||||
return oss.str();
|
||||
}
|
||||
template<class T, int size=0> std::u32string to_u32string(T t, std::ios_base & (*f)(std::ios_base&)) {
|
||||
template<class TYPE, int size=0> std::u32string to_u32string_format(TYPE t, std::ios_base & (*f)(std::ios_base&)) {
|
||||
std::ostringstream oss;
|
||||
if (size==0) {
|
||||
oss << f << t;
|
||||
@ -130,6 +135,69 @@ namespace std {
|
||||
return std::to_u32string(oss.str());
|
||||
}
|
||||
|
||||
bool from_string(std::string& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(std::string& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(std::u32string& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(std::u32string& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(bool& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(bool& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(char& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(char& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(short& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(short& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(int& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(int& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(long& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(long& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(long long& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(long long& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(unsigned char& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(unsigned char& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(unsigned short& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(unsigned short& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(unsigned& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(unsigned& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(unsigned long& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(unsigned long& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(unsigned long long& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(unsigned long long& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(float& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(float& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(double& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(double& _variableRet, const std::u32string& _value);
|
||||
//! @previous
|
||||
bool from_string(long double& _variableRet, const std::string& _value);
|
||||
//! @previous
|
||||
bool from_string(long double& _variableRet, const std::u32string& _value);
|
||||
|
||||
#if (defined(__TARGET_OS__Android))
|
||||
double stod(const std::string& _str, size_t* _idx = 0);
|
||||
@ -183,8 +251,6 @@ namespace std {
|
||||
//! @previous
|
||||
bool stob(const std::u32string& _str);
|
||||
|
||||
|
||||
|
||||
std::string tolower(std::string _obj);
|
||||
//! @previous
|
||||
std::u32string tolower(std::u32string _obj);
|
||||
@ -220,7 +286,7 @@ namespace std {
|
||||
//! @previous
|
||||
void sort(std::vector<std::string *>& _list);
|
||||
|
||||
template <class T> const T& avg(const T& a, const T& b, const T& c) {
|
||||
template <class TYPE> const TYPE& avg(const TYPE& a, const TYPE& b, const TYPE& c) {
|
||||
return std::min(std::max(a,b),c);
|
||||
}
|
||||
};
|
||||
@ -234,6 +300,5 @@ namespace std {
|
||||
|
||||
int32_t strlen(const char32_t * _data);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user