Go to the documentation of this file.
32 template<
typename TAlloc,
typename T_CHAR>
61 template<
typename TAlloc,
typename T_CHAR>
65 template<
typename TAlloc,
typename T_CHAR>
75 template<
typename T_CHAR2>
76 AkString(
const T_CHAR2* in_pStr) { tImpl::Set(in_pStr); }
80 template<
typename TAlloc2,
typename T_CHAR2>
93 tData::pStr = (T_CHAR*)TAlloc::Alloc((uLen + 1) *
sizeof(T_CHAR));
113 TAlloc::TransferMem((
void*&)
tData::pStr, in_from, (
void*)in_from.tData::pStr);
114 in_from.tData::pStr =
nullptr;
117 in_from.tData::bOwner =
false;
127 tImpl::Set(in_rhs.
Get());
128 TAlloc::operator=(in_rhs);
132 template<
typename TAlloc2,
typename T_CHAR2>
135 tImpl::Set(in_rhs.
Get());
136 TAlloc::operator=(in_rhs);
140 template<
typename T_CHAR2>
148 #ifdef AK_SUPPORT_WCHAR
149 template<
typename TAlloc>
165 size_t uLen = strlen(in_pStr);
168 tData::pStr = (
wchar_t*)TAlloc::Alloc((uLen + 1) *
sizeof(wchar_t));
169 if (tData::pStr ==
NULL)
173 tData::bOwner =
true;
184 AKRESULT Set(
const wchar_t* in_pStr)
187 tData::pStr = in_pStr;
194 return (
AkUInt32)wcslen(tData::pStr);
199 template<
typename TAlloc>
215 size_t uLen = wcslen(in_pStr);
218 tData::pStr = (
char*)TAlloc::Alloc((uLen + 1) *
sizeof(char));
219 if (tData::pStr ==
NULL)
223 tData::bOwner =
true;
237 tData::pStr = in_pStr;
244 return (
AkUInt32)strlen(tData::pStr);
254 template<
typename TAlloc,
typename T_CHAR>
261 return hash.
Compute(in_str.
Get(), uLen *
sizeof(T_CHAR));
270 template<
typename TAlloc,
typename T_CHAR,
typename tLock = AkNonThreaded>
298 if (pInstance ==
NULL)
311 if (pInstance !=
NULL)
313 pInstance->~Instance();
314 pInstance->TAlloc::Free(pInstance);
324 static Instance* pInstance;
333 template<
typename TAlloc2,
typename T_CHAR2>
343 template<
typename TAlloc2,
typename T_CHAR2>
351 template<
typename T_CHAR2>
377 template<
typename TAlloc2,
typename T_CHAR2>
397 pEntry->
str = in_str;
402 pInstance->table.Unset(
m_uHash);
451 typename tStringTable::IteratorEx it = table.
FindEx(
m_uHash);
453 Entry& entry = (*it).item;
472 template<
typename TAlloc,
typename T_CHAR,
typename tLock>
@ AK_Fail
The operation failed.
AkString & operator=(const AkString< TAlloc, T_CHAR > &in_rhs)
tThis & operator=(const AkString< TAlloc2, T_CHAR2 > &in_rhs)
AKRESULT Set(const char *in_pStr)
const T_CHAR * Get() const
void Transfer(AkString< TAlloc, T_CHAR > &in_from)
AkStringData(const T_CHAR *in_pStr)
AKSOUNDENGINE_API void Free(AkMemPoolId in_poolId, void *in_pMemAddress)
AKRESULT
Standard function call result.
AkString(const T_CHAR2 *in_pStr)
AKRESULT Aquire(const AkString< TAlloc2, T_CHAR2 > &in_str)
AkString< TAlloc, T_CHAR > tString
AkHashList< AkUInt32, Entry, TAlloc > tStringTable
AkString & operator=(const T_CHAR2 *in_pStr)
IteratorEx Erase(const IteratorEx &in_rIter)
@ AK_Success
The operation was successful.
AKSOUNDENGINE_API void Term()
#define AkPlacementNew(_memory)
static AkForceInline AkUInt32 AkHash(const AkString< TAlloc, T_CHAR > &in_str)
AkForceInline void AkMemCpy(void *pDest, const void *pSrc, AkUInt32 uSize)
Platform Independent Helper.
#define AKASSERT(Condition)
AkForceInline void Unlock()
AkDbString< TAlloc, T_CHAR, tLock > tThis
const T_CHAR * Get() const
AkString(const AkString< TAlloc, T_CHAR > &in_other)
AkForceInline void Lock()
AKRESULT Aquire(AkUInt32 in_uHash)
AKRESULT Set(const wchar_t *in_pStr)
IteratorEx FindEx(T_KEY in_Key)
AkString & operator=(const AkString< TAlloc2, T_CHAR2 > &in_rhs)
AkForceInline AkInt32 AkCharToWideChar(const char *in_pszAnsiString, AkUInt32 in_uiOutBufferSize, void *io_pvUnicodeStringBuffer)
String conversion helper.
tThis & operator=(const tThis &in_rhs)
HashParams::HashType Compute(const void *in_pData, typename HashParams::SizeType in_dataSize)
@ AK_InsufficientMemory
Memory error.
AkForceInline AkInt32 AkWideCharToChar(const wchar_t *in_pszUnicodeString, AkUInt32 in_uiOutBufferSize, char *io_pszAnsiString)
String conversion helper.
AkDbString(const AkString< TAlloc2, T_CHAR2 > &in_fromStr)
AkDbString(const tThis &in_fromDbStr)
AkString(const AkString< TAlloc2, T_CHAR2 > &in_other)
tThis & operator=(const T_CHAR2 *in_rhs)
Tell us about your project. We're here to help.
Register your project and we'll help you get started with no strings attached!
Get started with Wwise