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