Added shared library support.

This commit is contained in:
2024-07-24 01:36:20 -07:00
parent 1b70383448
commit 8e7cc39000
122 changed files with 298 additions and 298 deletions

View File

@@ -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>