[DEV] add some _ in the function imput and remode debug display
This commit is contained in:
parent
8acac8918b
commit
b433625df8
178
etk/UString.cpp
178
etk/UString.cpp
@ -11,14 +11,14 @@
|
|||||||
#include <etk/unicode.h>
|
#include <etk/unicode.h>
|
||||||
#include <etk/Debug.h>
|
#include <etk/Debug.h>
|
||||||
|
|
||||||
int32_t strlen(const uniChar_t * data)
|
int32_t strlen(const uniChar_t * _data)
|
||||||
{
|
{
|
||||||
if (NULL == data) {
|
if (NULL == _data) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int32_t iii=0;
|
int32_t iii=0;
|
||||||
while (*data != 0) {
|
while (*_data != 0) {
|
||||||
data++;
|
_data++;
|
||||||
iii++;
|
iii++;
|
||||||
if (iii > 0x7FFFFFF0) {
|
if (iii > 0x7FFFFFF0) {
|
||||||
return iii;
|
return iii;
|
||||||
@ -30,13 +30,13 @@ int32_t strlen(const uniChar_t * data)
|
|||||||
#undef __class__
|
#undef __class__
|
||||||
#define __class__ "etk::UString"
|
#define __class__ "etk::UString"
|
||||||
|
|
||||||
etk::CCout& etk::operator <<(etk::CCout &os, const etk::UString &obj)
|
etk::CCout& etk::operator <<(etk::CCout& _os, const etk::UString& _obj)
|
||||||
{
|
{
|
||||||
etk::Vector<char> output_UTF8;
|
etk::Vector<char> output_UTF8;
|
||||||
unicode::convertUnicodeToUtf8(obj.m_data, output_UTF8);
|
unicode::convertUnicodeToUtf8(_obj.m_data, output_UTF8);
|
||||||
output_UTF8.PushBack('\0');
|
output_UTF8.PushBack('\0');
|
||||||
os << &output_UTF8[0];
|
_os << &output_UTF8[0];
|
||||||
return os;
|
return _os;
|
||||||
}
|
}
|
||||||
|
|
||||||
etk::UString::UString(void)
|
etk::UString::UString(void)
|
||||||
@ -134,19 +134,10 @@ etk::UString::UString(const double _inputData)
|
|||||||
Set(tmpVal);
|
Set(tmpVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
void etk::UString::Set(const int64_t& _inputData, etk::UString::printMode_te _mode, bool _preset)
|
void etk::UString::SetNumber(bool _negative, const uint64_t& _inputData, etk::UString::printMode_te _mode, bool _preset)
|
||||||
{
|
{
|
||||||
if (_preset==true && _mode != etk::UString::printModeString) {
|
m_data.Clear();
|
||||||
Set((uint64_t)_inputData, _mode, _preset);
|
if (true==_negative) {
|
||||||
return;
|
|
||||||
}
|
|
||||||
uint64_t tmpData;
|
|
||||||
if (_inputData < 0) {
|
|
||||||
tmpData = (uint64_t)((int64_t)_inputData * (int64_t)(-1));
|
|
||||||
} else {
|
|
||||||
tmpData = _inputData;
|
|
||||||
}
|
|
||||||
if (_inputData < 0) {
|
|
||||||
if (_mode == etk::UString::printModeString) {
|
if (_mode == etk::UString::printModeString) {
|
||||||
m_data.PushBack('l');
|
m_data.PushBack('l');
|
||||||
m_data.PushBack('e');
|
m_data.PushBack('e');
|
||||||
@ -157,12 +148,6 @@ void etk::UString::Set(const int64_t& _inputData, etk::UString::printMode_te _mo
|
|||||||
m_data.PushBack('-');
|
m_data.PushBack('-');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Set((uint64_t)tmpData, _mode, _preset);
|
|
||||||
//TK_ERROR(" convert : " << _inputData << " in : " << *this);
|
|
||||||
}
|
|
||||||
|
|
||||||
void etk::UString::Set(const uint64_t& _inputData, etk::UString::printMode_te _mode, bool _preset)
|
|
||||||
{
|
|
||||||
if (_preset==true) {
|
if (_preset==true) {
|
||||||
switch(_mode) {
|
switch(_mode) {
|
||||||
case etk::UString::printModeBinary :
|
case etk::UString::printModeBinary :
|
||||||
@ -228,19 +213,42 @@ void etk::UString::Set(const uint64_t& _inputData, etk::UString::printMode_te _m
|
|||||||
}
|
}
|
||||||
//TK_ERROR (" " << ploppp);
|
//TK_ERROR (" " << ploppp);
|
||||||
}
|
}
|
||||||
m_data.PushBack('\0');
|
if (m_data.Size()==0) {
|
||||||
//TK_ERROR(" convert : " << _inputData << " in : " << *this);
|
m_data.PushBack('\0');
|
||||||
|
} else if (m_data[m_data.Size()-1]!='\0') {
|
||||||
|
m_data.PushBack('\0');
|
||||||
|
}
|
||||||
|
//TK_ERROR(" convert : " << _inputData << " in : " << *this << " len=" << m_data.Size());
|
||||||
|
}
|
||||||
|
|
||||||
|
void etk::UString::Set(const int64_t& _inputData, etk::UString::printMode_te _mode, bool _preset)
|
||||||
|
{
|
||||||
|
if (_preset==true && _mode != etk::UString::printModeString) {
|
||||||
|
SetNumber(false, (uint64_t)_inputData, _mode, _preset);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (_inputData < 0) {
|
||||||
|
uint64_t tmpData = (uint64_t)((int64_t)_inputData * (int64_t)(-1));
|
||||||
|
SetNumber(true, (uint64_t)tmpData, _mode, _preset);
|
||||||
|
} else {
|
||||||
|
SetNumber(false, (uint64_t)_inputData, _mode, _preset);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void etk::UString::Set(const uint64_t& _inputData, etk::UString::printMode_te _mode, bool _preset)
|
||||||
|
{
|
||||||
|
SetNumber(false, (uint64_t)_inputData, _mode, _preset);
|
||||||
}
|
}
|
||||||
|
|
||||||
// multiple element add
|
// multiple element add
|
||||||
etk::UString::UString(const uniChar_t* _inputData, int32_t len)
|
etk::UString::UString(const uniChar_t* _inputData, int32_t _len)
|
||||||
{
|
{
|
||||||
Set(_inputData, len);
|
Set(_inputData, _len);
|
||||||
}
|
}
|
||||||
|
|
||||||
etk::UString::UString(const char* _inputData, int32_t len)
|
etk::UString::UString(const char* _inputData, int32_t _len)
|
||||||
{
|
{
|
||||||
Set(_inputData, len);
|
Set(_inputData, _len);
|
||||||
}
|
}
|
||||||
|
|
||||||
etk::UString::UString(const etk::Vector<char>& _inputData)
|
etk::UString::UString(const etk::Vector<char>& _inputData)
|
||||||
@ -282,9 +290,9 @@ void etk::UString::Set(const etk::Vector<int8_t>& _inputData)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void etk::UString::Set(const etk::Vector<uniChar_t>& inputData)
|
void etk::UString::Set(const etk::Vector<uniChar_t>& _inputData)
|
||||||
{
|
{
|
||||||
m_data = inputData;
|
m_data = _inputData;
|
||||||
if (m_data.Size()>0) {
|
if (m_data.Size()>0) {
|
||||||
if (m_data[m_data.Size()-1] != '\0') {
|
if (m_data[m_data.Size()-1] != '\0') {
|
||||||
m_data.PushBack('\0');
|
m_data.PushBack('\0');
|
||||||
@ -295,53 +303,62 @@ void etk::UString::Set(const etk::Vector<uniChar_t>& inputData)
|
|||||||
//TK_DEBUG("m_dataLen="<<m_dataLen << " m_dataLenUTF8="<<m_dataLenUTF8 << " description=" << m_data);
|
//TK_DEBUG("m_dataLen="<<m_dataLen << " m_dataLenUTF8="<<m_dataLenUTF8 << " description=" << m_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void etk::UString::Set(const char * inputData, int32_t len)
|
void etk::UString::Set(const char* _inputData, int32_t _len)
|
||||||
{
|
{
|
||||||
if (NULL == inputData) {
|
// clear all the data
|
||||||
// nothing to add ... ==> clear all the data ...
|
m_data.Clear();
|
||||||
Clear();
|
if (NULL == _inputData) {
|
||||||
|
m_data.PushBack('\0');
|
||||||
|
// nothing to add ... ==> just exit
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// overwrite the len if needed :
|
// overwrite the len if needed :
|
||||||
if ((-1) == len) {
|
if ((-1) == _len) {
|
||||||
len = strlen(inputData);
|
_len = strlen(_inputData);
|
||||||
}
|
}
|
||||||
// convert the string
|
// convert the string
|
||||||
etk::Vector<char> tmpChar;
|
etk::Vector<char> tmpChar;
|
||||||
for (int32_t iii=0; iii<len; iii++) {
|
for (int32_t iii=0; iii<_len; iii++) {
|
||||||
tmpChar.PushBack(inputData[iii]);
|
// clip the string in case of error of len ...
|
||||||
|
if (_inputData[iii]=='\0') {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
tmpChar.PushBack(_inputData[iii]);
|
||||||
}
|
}
|
||||||
// add it ...
|
// add it ...
|
||||||
if (len != 0) {
|
if (_len != 0) {
|
||||||
// remove the last '\0'
|
|
||||||
m_data.PopBack();
|
|
||||||
// copy the data ...
|
// copy the data ...
|
||||||
unicode::convertUtf8ToUnicode(tmpChar, m_data);
|
unicode::convertUtf8ToUnicode(tmpChar, m_data);
|
||||||
}
|
}
|
||||||
// add the last '\0'
|
if (m_data.Size()==0) {
|
||||||
m_data.PushBack('\0');
|
m_data.PushBack('\0');
|
||||||
|
} else if (m_data[m_data.Size()-1]!='\0') {
|
||||||
|
m_data.PushBack('\0');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void etk::UString::Set(const uniChar_t * inputData, int32_t len)
|
void etk::UString::Set(const uniChar_t* _inputData, int32_t _len)
|
||||||
{
|
{
|
||||||
if (NULL == inputData) {
|
// clear all the data
|
||||||
// nothing to add ... ==> clear all the data ...
|
m_data.Clear();
|
||||||
Clear();
|
if (NULL == _inputData) {
|
||||||
|
m_data.PushBack('\0');
|
||||||
|
// nothing to add ... ==> just exit
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// overwrite the len if needed :
|
// overwrite the len if needed :
|
||||||
if ((-1) == len) {
|
if ((-1) == _len) {
|
||||||
len = strlen(inputData);
|
_len = strlen(_inputData);
|
||||||
}
|
}
|
||||||
|
if (_len != 0) {
|
||||||
if (len != 0) {
|
|
||||||
// remove the last '\0'
|
|
||||||
m_data.PopBack();
|
|
||||||
// copy the data ...
|
// copy the data ...
|
||||||
m_data.PushBack(inputData, len);
|
m_data.PushBack(_inputData, _len);
|
||||||
|
}
|
||||||
|
if (m_data.Size()==0) {
|
||||||
|
m_data.PushBack('\0');
|
||||||
|
} else if (m_data[m_data.Size()-1]!='\0') {
|
||||||
|
m_data.PushBack('\0');
|
||||||
}
|
}
|
||||||
// add the last '\0'
|
|
||||||
m_data.PushBack('\0');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -439,9 +456,19 @@ bool etk::UString::operator<= (const etk::UString& _obj) const
|
|||||||
|
|
||||||
bool etk::UString::operator== (const etk::UString& _obj) const
|
bool etk::UString::operator== (const etk::UString& _obj) const
|
||||||
{
|
{
|
||||||
|
//TK_DEBUG("Compare : \"" << _obj << "\"==\"" << *this << "\"");
|
||||||
if( this != &_obj ) {
|
if( this != &_obj ) {
|
||||||
if (_obj.m_data.Size() != m_data.Size()) {
|
if (_obj.m_data.Size() != m_data.Size()) {
|
||||||
//TK_DEBUG(" not the same size : " << _obj.m_data.Size() << "!=" << m_data.Size());
|
/*TK_DEBUG(" not the same size : " << _obj.m_data.Size() << "!=" << m_data.Size());
|
||||||
|
for (int32_t iii=0; iii<etk_max(m_data.Size(),_obj.m_data.Size()); iii++) {
|
||||||
|
if (iii< m_data.Size() && iii<_obj.m_data.Size()) {
|
||||||
|
TK_DEBUG(" element : '" << m_data[iii] << "' !! '" << _obj.m_data[iii] << "'");
|
||||||
|
} else if (iii< m_data.Size()) {
|
||||||
|
TK_DEBUG(" element : '" << m_data[iii] << "' !! '-'");
|
||||||
|
} else {
|
||||||
|
TK_DEBUG(" element : '-' !! '" << _obj.m_data[iii] << "'");
|
||||||
|
}
|
||||||
|
}*/
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
for (int32_t iii= 0; iii<m_data.Size(); iii++) {
|
for (int32_t iii= 0; iii<m_data.Size(); iii++) {
|
||||||
@ -701,6 +728,35 @@ etk::Char etk::UString::c_str(void) const
|
|||||||
return tmpVar;
|
return tmpVar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void etk::UString::Lower(void)
|
||||||
|
{
|
||||||
|
for( int32_t iii=0 ; iii<m_data.Size() ; iii++) {
|
||||||
|
m_data[iii].Lower();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
etk::UString etk::UString::ToLower(void) const
|
||||||
|
{
|
||||||
|
etk::UString ret = *this;
|
||||||
|
ret.Lower();
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
void etk::UString::Upper(void)
|
||||||
|
{
|
||||||
|
for( int32_t iii=0 ; iii<m_data.Size() ; iii++) {
|
||||||
|
m_data[iii].Upper();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
etk::UString etk::UString::ToUpper(void) const
|
||||||
|
{
|
||||||
|
etk::UString ret = *this;
|
||||||
|
ret.Upper();
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
bool etk::UString::ToBool(void) const
|
bool etk::UString::ToBool(void) const
|
||||||
{
|
{
|
||||||
if( true == CompareNoCase("true")
|
if( true == CompareNoCase("true")
|
||||||
|
@ -50,17 +50,20 @@ namespace etk
|
|||||||
UString(const uint32_t& _inputData, printMode_te _mode=printModeDecimal, bool _preset=false) { Set((uint64_t)_inputData, _mode, _preset); };
|
UString(const uint32_t& _inputData, printMode_te _mode=printModeDecimal, bool _preset=false) { Set((uint64_t)_inputData, _mode, _preset); };
|
||||||
UString(const uint64_t& _inputData, printMode_te _mode=printModeDecimal, bool _preset=false) { Set(_inputData, _mode, _preset); };
|
UString(const uint64_t& _inputData, printMode_te _mode=printModeDecimal, bool _preset=false) { Set(_inputData, _mode, _preset); };
|
||||||
// multiple element add
|
// multiple element add
|
||||||
UString(const uniChar_t* _inputData, int32_t len = -1);
|
UString(const uniChar_t* _inputData, int32_t _len = -1);
|
||||||
UString(const char* _inputData, int32_t len = -1);
|
UString(const char* _inputData, int32_t _len = -1);
|
||||||
UString(const etk::Vector<char>& inputData);
|
UString(const etk::Vector<char>& _inputData);
|
||||||
UString(const etk::Vector<int8_t>& inputData);
|
UString(const etk::Vector<int8_t>& _inputData);
|
||||||
UString(const etk::Vector<uniChar_t>& inputData);
|
UString(const etk::Vector<uniChar_t>& _inputData);
|
||||||
// generic setter
|
// generic setter
|
||||||
void Set(const uniChar_t* inputData, int32_t len=-1);
|
void Set(const uniChar_t* _inputData, int32_t _len=-1);
|
||||||
void Set(const char* inputData, int32_t len=-1);
|
void Set(const char* _inputData, int32_t _len=-1);
|
||||||
void Set(const etk::Vector<char>& inputData);
|
void Set(const etk::Vector<char>& _inputData);
|
||||||
void Set(const etk::Vector<int8_t>& inputData);
|
void Set(const etk::Vector<int8_t>& _inputData);
|
||||||
void Set(const etk::Vector<uniChar_t>& inputData);
|
void Set(const etk::Vector<uniChar_t>& _inputData);
|
||||||
|
private:
|
||||||
|
void SetNumber(bool _negative, const uint64_t& _inputData, etk::UString::printMode_te _mode, bool _preset);
|
||||||
|
public:
|
||||||
void Set(const int64_t& _inputData, printMode_te _mode=printModeDecimal, bool _preset=false);
|
void Set(const int64_t& _inputData, printMode_te _mode=printModeDecimal, bool _preset=false);
|
||||||
void Set(const uint64_t& _inputData, printMode_te _mode=printModeDecimal, bool _preset=false);
|
void Set(const uint64_t& _inputData, printMode_te _mode=printModeDecimal, bool _preset=false);
|
||||||
|
|
||||||
@ -135,10 +138,10 @@ namespace etk
|
|||||||
/*****************************************************
|
/*****************************************************
|
||||||
* Generic modification function
|
* Generic modification function
|
||||||
*****************************************************/
|
*****************************************************/
|
||||||
void Add(int32_t currentID, const char* inputData);
|
void Add(int32_t _currentID, const char* _inputData);
|
||||||
void Add(int32_t currentID, const uniChar_t* inputData);
|
void Add(int32_t _currentID, const uniChar_t* _inputData);
|
||||||
void Add(int32_t currentID, const uniChar_t inputData);
|
void Add(int32_t _currentID, const uniChar_t _inputData);
|
||||||
void Remove(int32_t currentID, int32_t len);
|
void Remove(int32_t _currentID, int32_t _len);
|
||||||
void Clear(void);
|
void Clear(void);
|
||||||
|
|
||||||
etk::Vector<uniChar_t> GetVector(void);
|
etk::Vector<uniChar_t> GetVector(void);
|
||||||
@ -147,13 +150,13 @@ namespace etk
|
|||||||
etk::Char c_str(void) const;
|
etk::Char c_str(void) const;
|
||||||
|
|
||||||
void Lower(void);
|
void Lower(void);
|
||||||
etk::UString ToLower(void);
|
etk::UString ToLower(void) const;
|
||||||
void Upper(void);
|
void Upper(void);
|
||||||
etk::UString ToUpper(void);
|
etk::UString ToUpper(void) const;
|
||||||
|
|
||||||
|
|
||||||
// Sting operation :
|
// Sting operation :
|
||||||
etk::UString Extract(int32_t posStart=0, int32_t posEnd=0x7FFFFFFF) const;
|
etk::UString Extract(int32_t _posStart=0, int32_t _posEnd=0x7FFFFFFF) const;
|
||||||
/**
|
/**
|
||||||
* @brief Transform the current string in an int64_t
|
* @brief Transform the current string in an int64_t
|
||||||
* @return the requested int
|
* @return the requested int
|
||||||
@ -211,11 +214,11 @@ namespace etk
|
|||||||
bool ToBool(void) const;
|
bool ToBool(void) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
etk::CCout& operator <<(etk::CCout &os, const etk::UString &obj);
|
etk::CCout& operator <<(etk::CCout& _os, const etk::UString& _obj);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t strlen(const uniChar_t * data);
|
int32_t strlen(const uniChar_t * _data);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@ namespace etk
|
|||||||
tmpStr.Remove(0,posComa+1);
|
tmpStr.Remove(0,posComa+1);
|
||||||
m_floats[1] = tmpStr.ToBool();
|
m_floats[1] = tmpStr.ToBool();
|
||||||
}
|
}
|
||||||
TK_DEBUG("Parse : \"" << _str << "\" ==> " << *this);
|
TK_VERBOSE("Parse : \"" << _str << "\" ==> " << *this);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<> Vector2D<int32_t>::operator etk::UString(void) const
|
template<> Vector2D<int32_t>::operator etk::UString(void) const
|
||||||
|
Loading…
x
Reference in New Issue
Block a user