浏览该文件的文档.
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 if (tData::pStr ==
nullptr)
197 return (
AkUInt32)wcslen(tData::pStr);
202 template<
typename TAlloc>
218 size_t uLen = wcslen(in_pStr);
221 tData::pStr = (
char*)TAlloc::Alloc((uLen + 1) *
sizeof(char));
222 if (tData::pStr ==
NULL)
226 tData::bOwner =
true;
240 tData::pStr = in_pStr;
247 if (tData::pStr ==
nullptr)
250 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>
297 if (pInstance ==
NULL)
301 if (pInstance ==
nullptr)
315 if (pInstance !=
NULL)
317 pInstance->~Instance();
318 pInstance->TAlloc::Free(pInstance);
337 static Instance* pInstance;
346 template<
typename TAlloc2,
typename T_CHAR2>
356 template<
typename TAlloc2,
typename T_CHAR2>
364 template<
typename T_CHAR2>
411 template<
typename TAlloc2,
typename T_CHAR2>
418 if (pInstance && in_str.
Get() !=
NULL)
429 pEntry->
str = in_str;
434 pInstance->table.Unset(
m_uHash);
461 if (pInstance && in_uHash != 0)
486 typename tStringTable::IteratorEx it = table.
FindEx(
m_uHash);
488 Entry& entry = (*it).item;
509 template<
typename TAlloc,
typename T_CHAR>
521 : m_uHash(in_rhs.m_uHash)
526 m_uHash = in_dbString.
GetHash();
531 m_uHash = in_dbString.
GetHash();
538 m_uHash = in_rhs.m_uHash;
554 template<
typename TAlloc,
typename T_CHAR>
tThis & operator=(const AkString< TAlloc2, T_CHAR2 > &in_rhs)
@ AK_Fail
The operation failed.
AkString & operator=(const AkString< TAlloc, T_CHAR > &in_rhs)
AKRESULT Set(const char *in_pStr)
void Transfer(AkString< TAlloc, T_CHAR > &in_from)
AkStringData(const T_CHAR *in_pStr)
const T_CHAR * Get() const
#define AkPlacementNew(_memory)
AkString< TAlloc, T_CHAR > tString
AKSOUNDENGINE_API void Free(AkMemPoolId in_poolId, void *in_pMemAddress)
AkDbWeakString & operator=(const AkDbWeakString &in_rhs)
AKRESULT
Standard function call result.
AkString(const T_CHAR2 *in_pStr)
const T_CHAR * Get() const
T_ITEM * Exists(T_KEY in_Key)
AkString & operator=(const T_CHAR2 *in_pStr)
IteratorEx Erase(const IteratorEx &in_rIter)
AkDbWeakString & operator=(const _String &in_dbString)
@ AK_Success
The operation was successful.
int32_t AkInt32
Signed 32-bit integer
AKSOUNDENGINE_API void Term()
static AkForceInline AkUInt32 AkHash(const AkString< TAlloc, T_CHAR > &in_str)
tThis & operator=(const T_CHAR2 *in_rhs)
AkDbWeakString(const AkDbWeakString &in_rhs)
AkDbString< TAlloc, T_CHAR > tThis
#define AKASSERT(Condition)
AkForceInline void AkMemCpy(void *pDest, const void *pSrc, AkUInt32 uSize)
Platform Independent Helper for memcpy/memmove/memset
const T_CHAR * Get() const
AkString(const AkString< TAlloc, T_CHAR > &in_other)
tString GetString() const
static const T_CHAR * GetFromHash(AkUInt32 in_uHash)
AkDbWeakString(const _String &in_dbString)
AkDbString(const AkString< TAlloc2, T_CHAR2 > &in_fromStr)
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
AkDbString< TAlloc, T_CHAR > _String
uint32_t AkUInt32
Unsigned 32-bit integer
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
AkHashList< AkUInt32, Entry, TAlloc > tStringTable
AKRESULT Aquire(const AkString< TAlloc2, T_CHAR2 > &in_str)
AkDbString(const tThis &in_fromDbStr)
AkString(const AkString< TAlloc2, T_CHAR2 > &in_other)
AKRESULT Aquire(AkUInt32 in_uHash)
介绍一下自己的项目。我们会竭力为您提供帮助。
来注册自己的项目,我们帮您快速入门,不带任何附加条件!
开始 Wwise 之旅