summaryrefslogtreecommitdiff
path: root/source/modules/asura-core/font/string.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/modules/asura-core/font/string.cpp')
-rw-r--r--source/modules/asura-core/font/string.cpp752
1 files changed, 376 insertions, 376 deletions
diff --git a/source/modules/asura-core/font/string.cpp b/source/modules/asura-core/font/string.cpp
index 8c9c55a..72acaa6 100644
--- a/source/modules/asura-core/font/string.cpp
+++ b/source/modules/asura-core/font/string.cpp
@@ -1,376 +1,376 @@
-#include "String.hpp"
-#include "Utf.hpp"
-
-namespace AsuraEngine
-{
- namespace Text
- {
-
-
- ////////////////////////////////////////////////////////////
- const std::size_t String::InvalidPos = std::basic_string<uint32>::npos;
-
-
- ////////////////////////////////////////////////////////////
- String::String()
- {
- }
-
-
- ////////////////////////////////////////////////////////////
- String::String(char ansiChar, const std::locale& locale)
- {
- mString += Utf32::DecodeAnsi(ansiChar, locale);
- }
-
-
- ////////////////////////////////////////////////////////////
- String::String(wchar_t wideChar)
- {
- mString += Utf32::DecodeWide(wideChar);
- }
-
-
- ////////////////////////////////////////////////////////////
- String::String(uint32 utf32Char)
- {
- mString += utf32Char;
- }
-
-
- ////////////////////////////////////////////////////////////
- String::String(const char* ansiString, const std::locale& locale)
- {
- if (ansiString)
- {
- std::size_t length = strlen(ansiString);
- if (length > 0)
- {
- mString.reserve(length + 1);
- Utf32::FromAnsi(ansiString, ansiString + length, std::back_inserter(mString), locale);
- }
- }
- }
-
-
- ////////////////////////////////////////////////////////////
- String::String(const std::string& ansiString, const std::locale& locale)
- {
- mString.reserve(ansiString.length() + 1);
- Utf32::FromAnsi(ansiString.begin(), ansiString.end(), std::back_inserter(mString), locale);
- }
-
-
- ////////////////////////////////////////////////////////////
- String::String(const wchar_t* wideString)
- {
- if (wideString)
- {
- std::size_t length = std::wcslen(wideString);
- if (length > 0)
- {
- mString.reserve(length + 1);
- Utf32::FromWide(wideString, wideString + length, std::back_inserter(mString));
- }
- }
- }
-
-
- ////////////////////////////////////////////////////////////
- String::String(const std::wstring& wideString)
- {
- mString.reserve(wideString.length() + 1);
- Utf32::FromWide(wideString.begin(), wideString.end(), std::back_inserter(mString));
- }
-
-
- ////////////////////////////////////////////////////////////
- String::String(const uint32* utf32String)
- {
- if (utf32String)
- mString = utf32String;
- }
-
-
- ////////////////////////////////////////////////////////////
- String::String(const std::basic_string<uint32>& utf32String) :
- mString(utf32String)
- {
- }
-
-
- ////////////////////////////////////////////////////////////
- String::String(const String& copy) :
- mString(copy.mString)
- {
- }
-
-
- ////////////////////////////////////////////////////////////
- String::operator std::string() const
- {
- return ToAnsiString();
- }
-
-
- ////////////////////////////////////////////////////////////
- String::operator std::wstring() const
- {
- return ToWideString();
- }
-
-
- ////////////////////////////////////////////////////////////
- std::string String::ToAnsiString(const std::locale& locale) const
- {
- // Prepare the output string
- std::string output;
- output.reserve(mString.length() + 1);
-
- // Convert
- Utf32::ToAnsi(mString.begin(), mString.end(), std::back_inserter(output), 0, locale);
-
- return output;
- }
-
-
- ////////////////////////////////////////////////////////////
- std::wstring String::ToWideString() const
- {
- // Prepare the output string
- std::wstring output;
- output.reserve(mString.length() + 1);
-
- // Convert
- Utf32::ToWide(mString.begin(), mString.end(), std::back_inserter(output), 0);
-
- return output;
- }
-
-
- ////////////////////////////////////////////////////////////
- std::basic_string<uint8> String::ToUtf8() const
- {
- // Prepare the output string
- std::basic_string<uint8> output;
- output.reserve(mString.length());
-
- // Convert
- Utf32::ToUtf8(mString.begin(), mString.end(), std::back_inserter(output));
-
- return output;
- }
-
-
- ////////////////////////////////////////////////////////////
- std::basic_string<uint16> String::ToUtf16() const
- {
- // Prepare the output string
- std::basic_string<uint16> output;
- output.reserve(mString.length());
-
- // Convert
- Utf32::ToUtf16(mString.begin(), mString.end(), std::back_inserter(output));
-
- return output;
- }
-
-
- ////////////////////////////////////////////////////////////
- std::basic_string<uint32> String::ToUtf32() const
- {
- return mString;
- }
-
-
- ////////////////////////////////////////////////////////////
- String& String::operator =(const String& right)
- {
- mString = right.mString;
- return *this;
- }
-
-
- ////////////////////////////////////////////////////////////
- String& String::operator +=(const String& right)
- {
- mString += right.mString;
- return *this;
- }
-
-
- ////////////////////////////////////////////////////////////
- uint32 String::operator [](std::size_t index) const
- {
- return mString[index];
- }
-
-
- ////////////////////////////////////////////////////////////
- uint32& String::operator [](std::size_t index)
- {
- return mString[index];
- }
-
-
- ////////////////////////////////////////////////////////////
- void String::Clear()
- {
- mString.clear();
- }
-
-
- ////////////////////////////////////////////////////////////
- std::size_t String::GetSize() const
- {
- return mString.size();
- }
-
-
- ////////////////////////////////////////////////////////////
- bool String::IsEmpty() const
- {
- return mString.empty();
- }
-
-
- ////////////////////////////////////////////////////////////
- void String::Erase(std::size_t position, std::size_t count)
- {
- mString.erase(position, count);
- }
-
-
- ////////////////////////////////////////////////////////////
- void String::Insert(std::size_t position, const String& str)
- {
- mString.insert(position, str.mString);
- }
-
-
- ////////////////////////////////////////////////////////////
- std::size_t String::Find(const String& str, std::size_t start) const
- {
- return mString.find(str.mString, start);
- }
-
-
- ////////////////////////////////////////////////////////////
- void String::Replace(std::size_t position, std::size_t length, const String& replaceWith)
- {
- mString.replace(position, length, replaceWith.mString);
- }
-
-
- ////////////////////////////////////////////////////////////
- void String::Replace(const String& searchFor, const String& replaceWith)
- {
- std::size_t step = replaceWith.GetSize();
- std::size_t len = searchFor.GetSize();
- std::size_t pos = Find(searchFor);
-
- // Replace each occurrence of search
- while (pos != InvalidPos)
- {
- Replace(pos, len, replaceWith);
- pos = Find(searchFor, pos + step);
- }
- }
-
-
- ////////////////////////////////////////////////////////////
- String String::Substring(std::size_t position, std::size_t length) const
- {
- return mString.substr(position, length);
- }
-
-
- ////////////////////////////////////////////////////////////
- const uint32* String::GetData() const
- {
- return mString.c_str();
- }
-
-
- ////////////////////////////////////////////////////////////
- String::Iterator String::Begin()
- {
- return mString.begin();
- }
-
-
- ////////////////////////////////////////////////////////////
- String::ConstIterator String::Begin() const
- {
- return mString.begin();
- }
-
-
- ////////////////////////////////////////////////////////////
- String::Iterator String::End()
- {
- return mString.end();
- }
-
-
- ////////////////////////////////////////////////////////////
- String::ConstIterator String::End() const
- {
- return mString.end();
- }
-
-
- ////////////////////////////////////////////////////////////
- bool operator ==(const String& left, const String& right)
- {
- return left.mString == right.mString;
- }
-
-
- ////////////////////////////////////////////////////////////
- bool operator !=(const String& left, const String& right)
- {
- return !(left == right);
- }
-
-
- ////////////////////////////////////////////////////////////
- bool operator <(const String& left, const String& right)
- {
- return left.mString < right.mString;
- }
-
-
- ////////////////////////////////////////////////////////////
- bool operator >(const String& left, const String& right)
- {
- return right < left;
- }
-
-
- ////////////////////////////////////////////////////////////
- bool operator <=(const String& left, const String& right)
- {
- return !(right < left);
- }
-
-
- ////////////////////////////////////////////////////////////
- bool operator >=(const String& left, const String& right)
- {
- return !(left < right);
- }
-
-
- ////////////////////////////////////////////////////////////
- String operator +(const String& left, const String& right)
- {
- String string = left;
- string += right;
-
- return string;
- }
-
-
- }
-}
+//#include "String.hpp"
+//#include "Utf.hpp"
+//
+//namespace AsuraEngine
+//{
+// namespace Text
+// {
+//
+//
+// ////////////////////////////////////////////////////////////
+// const std::size_t String::InvalidPos = std::basic_string<uint32>::npos;
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::String()
+// {
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::String(char ansiChar, const std::locale& locale)
+// {
+// mString += Utf32::DecodeAnsi(ansiChar, locale);
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::String(wchar_t wideChar)
+// {
+// mString += Utf32::DecodeWide(wideChar);
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::String(uint32 utf32Char)
+// {
+// mString += utf32Char;
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::String(const char* ansiString, const std::locale& locale)
+// {
+// if (ansiString)
+// {
+// std::size_t length = strlen(ansiString);
+// if (length > 0)
+// {
+// mString.reserve(length + 1);
+// Utf32::FromAnsi(ansiString, ansiString + length, std::back_inserter(mString), locale);
+// }
+// }
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::String(const std::string& ansiString, const std::locale& locale)
+// {
+// mString.reserve(ansiString.length() + 1);
+// Utf32::FromAnsi(ansiString.begin(), ansiString.end(), std::back_inserter(mString), locale);
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::String(const wchar_t* wideString)
+// {
+// if (wideString)
+// {
+// std::size_t length = std::wcslen(wideString);
+// if (length > 0)
+// {
+// mString.reserve(length + 1);
+// Utf32::FromWide(wideString, wideString + length, std::back_inserter(mString));
+// }
+// }
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::String(const std::wstring& wideString)
+// {
+// mString.reserve(wideString.length() + 1);
+// Utf32::FromWide(wideString.begin(), wideString.end(), std::back_inserter(mString));
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::String(const uint32* utf32String)
+// {
+// if (utf32String)
+// mString = utf32String;
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::String(const std::basic_string<uint32>& utf32String) :
+// mString(utf32String)
+// {
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::String(const String& copy) :
+// mString(copy.mString)
+// {
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::operator std::string() const
+// {
+// return ToAnsiString();
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::operator std::wstring() const
+// {
+// return ToWideString();
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// std::string String::ToAnsiString(const std::locale& locale) const
+// {
+// // Prepare the output string
+// std::string output;
+// output.reserve(mString.length() + 1);
+//
+// // Convert
+// Utf32::ToAnsi(mString.begin(), mString.end(), std::back_inserter(output), 0, locale);
+//
+// return output;
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// std::wstring String::ToWideString() const
+// {
+// // Prepare the output string
+// std::wstring output;
+// output.reserve(mString.length() + 1);
+//
+// // Convert
+// Utf32::ToWide(mString.begin(), mString.end(), std::back_inserter(output), 0);
+//
+// return output;
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// std::basic_string<uint8> String::ToUtf8() const
+// {
+// // Prepare the output string
+// std::basic_string<uint8> output;
+// output.reserve(mString.length());
+//
+// // Convert
+// Utf32::ToUtf8(mString.begin(), mString.end(), std::back_inserter(output));
+//
+// return output;
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// std::basic_string<uint16> String::ToUtf16() const
+// {
+// // Prepare the output string
+// std::basic_string<uint16> output;
+// output.reserve(mString.length());
+//
+// // Convert
+// Utf32::ToUtf16(mString.begin(), mString.end(), std::back_inserter(output));
+//
+// return output;
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// std::basic_string<uint32> String::ToUtf32() const
+// {
+// return mString;
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String& String::operator =(const String& right)
+// {
+// mString = right.mString;
+// return *this;
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String& String::operator +=(const String& right)
+// {
+// mString += right.mString;
+// return *this;
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// uint32 String::operator [](std::size_t index) const
+// {
+// return mString[index];
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// uint32& String::operator [](std::size_t index)
+// {
+// return mString[index];
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// void String::Clear()
+// {
+// mString.clear();
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// std::size_t String::GetSize() const
+// {
+// return mString.size();
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// bool String::IsEmpty() const
+// {
+// return mString.empty();
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// void String::Erase(std::size_t position, std::size_t count)
+// {
+// mString.erase(position, count);
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// void String::Insert(std::size_t position, const String& str)
+// {
+// mString.insert(position, str.mString);
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// std::size_t String::Find(const String& str, std::size_t start) const
+// {
+// return mString.find(str.mString, start);
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// void String::Replace(std::size_t position, std::size_t length, const String& replaceWith)
+// {
+// mString.replace(position, length, replaceWith.mString);
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// void String::Replace(const String& searchFor, const String& replaceWith)
+// {
+// std::size_t step = replaceWith.GetSize();
+// std::size_t len = searchFor.GetSize();
+// std::size_t pos = Find(searchFor);
+//
+// // Replace each occurrence of search
+// while (pos != InvalidPos)
+// {
+// Replace(pos, len, replaceWith);
+// pos = Find(searchFor, pos + step);
+// }
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String String::Substring(std::size_t position, std::size_t length) const
+// {
+// return mString.substr(position, length);
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// const uint32* String::GetData() const
+// {
+// return mString.c_str();
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::Iterator String::Begin()
+// {
+// return mString.begin();
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::ConstIterator String::Begin() const
+// {
+// return mString.begin();
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::Iterator String::End()
+// {
+// return mString.end();
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String::ConstIterator String::End() const
+// {
+// return mString.end();
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// bool operator ==(const String& left, const String& right)
+// {
+// return left.mString == right.mString;
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// bool operator !=(const String& left, const String& right)
+// {
+// return !(left == right);
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// bool operator <(const String& left, const String& right)
+// {
+// return left.mString < right.mString;
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// bool operator >(const String& left, const String& right)
+// {
+// return right < left;
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// bool operator <=(const String& left, const String& right)
+// {
+// return !(right < left);
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// bool operator >=(const String& left, const String& right)
+// {
+// return !(left < right);
+// }
+//
+//
+// ////////////////////////////////////////////////////////////
+// String operator +(const String& left, const String& right)
+// {
+// String string = left;
+// string += right;
+//
+// return string;
+// }
+//
+//
+// }
+//}