Added shared library support.
This commit is contained in:
@@ -564,7 +564,7 @@ namespace ehs
|
||||
return;
|
||||
}
|
||||
|
||||
Util::Copy(data[dstOffset], src, src.Size(true));
|
||||
Util::Copy(&data[dstOffset], src, src.Size(true));
|
||||
}
|
||||
|
||||
/// Copies a C-style string to the referenced string object.
|
||||
@@ -580,7 +580,7 @@ namespace ehs
|
||||
return;
|
||||
}
|
||||
|
||||
Util::Copy(data[dstOffset], src, srcSize * sizeof(T));
|
||||
Util::Copy(&data[dstOffset], src, srcSize * sizeof(T));
|
||||
}
|
||||
|
||||
/// Copies a C-style string to the referenced string object.
|
||||
@@ -595,7 +595,7 @@ namespace ehs
|
||||
return;
|
||||
}
|
||||
|
||||
Util::Copy(data[dstOffset], src, srcSize * sizeof(T));
|
||||
Util::Copy(&data[dstOffset], src, srcSize * sizeof(T));
|
||||
}
|
||||
|
||||
/// Inserts a string at a specified index.
|
||||
@@ -747,7 +747,7 @@ namespace ehs
|
||||
|
||||
T* result = new T[size + inSize + 1];
|
||||
Util::Copy(result, data, Size(true));
|
||||
Util::Copy(result[size], value, inSize * sizeof(T));
|
||||
Util::Copy(&result[size], value, inSize * sizeof(T));
|
||||
|
||||
result[size + inSize] = 0;
|
||||
|
||||
@@ -1027,7 +1027,7 @@ namespace ehs
|
||||
/// @param [in] pattern The search pattern for optimization.
|
||||
/// @param [in] result What index to return where the first instance is found.
|
||||
/// @returns The index where the instance was found with the result varying from the result parameter.
|
||||
bool Find(const Str<T, N>& ide, N* const index = nullptr, const SearchPattern pattern = SearchPattern::LEFT_RIGHT, const IndexResult result = IndexResult::BEGINNING) const
|
||||
bool Find(const Str<T, N> &ide, N* const index = nullptr, const SearchPattern pattern = SearchPattern::LEFT_RIGHT, const IndexResult result = IndexResult::BEGINNING) const
|
||||
{
|
||||
if (pattern == SearchPattern::LEFT_RIGHT)
|
||||
{
|
||||
@@ -1271,8 +1271,11 @@ namespace ehs
|
||||
/// @note Use "IsNum" before this if the string object is not guaranteed to be a number.
|
||||
float ToFloat() const
|
||||
{
|
||||
Str<T, N> ide;
|
||||
ide.Push(46);
|
||||
|
||||
N decPoint = size;
|
||||
Find(".", &decPoint);
|
||||
Find(ide, &decPoint);
|
||||
|
||||
float result = 0.0f;
|
||||
float fraction = 0.0f;
|
||||
@@ -1297,8 +1300,11 @@ namespace ehs
|
||||
/// @note Use "IsNum" before this if the string object is not guaranteed to be a number.
|
||||
double ToDouble() const
|
||||
{
|
||||
Str<T, N> ide;
|
||||
ide.Push(46);
|
||||
|
||||
N decPoint = size;
|
||||
Find(".", &decPoint);
|
||||
Find(ide, &decPoint);
|
||||
|
||||
double result = 0.0f;
|
||||
double fraction = 0.0f;
|
||||
@@ -1323,8 +1329,11 @@ namespace ehs
|
||||
/// @note Use "IsNum" before this if the string object is not guaranteed to be a number.
|
||||
long double ToLDouble() const
|
||||
{
|
||||
Str<T, N> ide;
|
||||
ide.Push(46);
|
||||
|
||||
N decPoint = size;
|
||||
Find(".", &decPoint);
|
||||
Find(ide, &decPoint);
|
||||
|
||||
long double result = 0.0f;
|
||||
long double fraction = 0.0f;
|
||||
@@ -1679,7 +1688,7 @@ namespace ehs
|
||||
|
||||
Str<T, N> result;
|
||||
if (whole < 0)
|
||||
result += "-";
|
||||
result.Push(45);
|
||||
|
||||
result += Str<T, N>::FromNum(whole);
|
||||
|
||||
@@ -1691,7 +1700,7 @@ namespace ehs
|
||||
if (!fraction)
|
||||
return result;
|
||||
|
||||
result += ".";
|
||||
result.Push(46);
|
||||
|
||||
Str<T, N> fResult(maxDecimals);
|
||||
N i = 0;
|
||||
@@ -1721,7 +1730,7 @@ namespace ehs
|
||||
|
||||
Str<T, N> result;
|
||||
if (whole < 0)
|
||||
result += "-";
|
||||
result.Push(45);
|
||||
|
||||
result += Str<T, N>::FromNum(whole);
|
||||
|
||||
@@ -1733,7 +1742,7 @@ namespace ehs
|
||||
if (!fraction)
|
||||
return result;
|
||||
|
||||
result += ".";
|
||||
result.Push(46);
|
||||
|
||||
Str<T, N> fResult(maxDecimals);
|
||||
N i = 0;
|
||||
@@ -1763,7 +1772,7 @@ namespace ehs
|
||||
|
||||
Str<T, N> result;
|
||||
if (whole < 0)
|
||||
result += "-";
|
||||
result.Push(45);
|
||||
|
||||
result += Str<T, N>::FromNum(whole);
|
||||
|
||||
@@ -1775,7 +1784,7 @@ namespace ehs
|
||||
if (!fraction)
|
||||
return result;
|
||||
|
||||
result += ".";
|
||||
result.Push(46);
|
||||
|
||||
Str<T, N> fResult(maxDecimals);
|
||||
N i = 0;
|
||||
@@ -1892,9 +1901,13 @@ namespace ehs
|
||||
}
|
||||
};
|
||||
|
||||
EHS_LIB_IO typedef Str<Char_32, UInt_64> Str_32;
|
||||
EHS_LIB_IO typedef Str<Char_16, UInt_64> Str_16;
|
||||
EHS_LIB_IO typedef Str<Char_8, UInt_64> Str_8;
|
||||
template class EHS_LIB_IO Str<Char_32, UInt_64>;
|
||||
template class EHS_LIB_IO Str<Char_16, UInt_64>;
|
||||
template class EHS_LIB_IO Str<Char_8, UInt_64>;
|
||||
|
||||
typedef Str<Char_32, UInt_64> Str_32;
|
||||
typedef Str<Char_16, UInt_64> Str_16;
|
||||
typedef Str<Char_8, UInt_64> Str_8;
|
||||
}
|
||||
|
||||
template<typename T = ehs::Char_8, typename N = ehs::UInt_64>
|
||||
|
Reference in New Issue
Block a user