이 파일의 문서화 페이지로 가기
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)
지원이 필요하신가요?
질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!
지원 페이지를 방문해 주세요
작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요