24 #include <unordered_map>
28 typedef std::unordered_map< const char*, PPPOptimizerTokenEnum, rtl::CStringHash, rtl::CStringEqual>
TypeNameHashMap;
32 static std::mutex s_aHashMapProtection;
33 return s_aHashMapProtection;
175 const TokenTable* pEnd = pPtr +
SAL_N_ELEMENTS( pTokenTableArray );
176 for ( ; pPtr < pEnd; pPtr++ )
177 (*pH)[ pPtr->pS ] = pPtr->pE;
182 int i, nLen = rToken.getLength();
183 std::unique_ptr<char[]> pBuf(
new char[ nLen + 1 ]);
184 for ( i = 0; i < nLen; i++ )
185 pBuf[ i ] = static_cast<char>(rToken[ i ]);
187 TypeNameHashMap::iterator aHashIter(
pHashMap->find( pBuf.get() ) );
189 eRetValue = (*aHashIter).second;
195 return OUString::createFromAscii( pTokenTableArray[ eToken ].
pS );
std::unordered_map< OUString, MSO_SPT > TypeNameHashMap
static std::mutex & getHashMapMutex()
std::unordered_map< const char *, PPPOptimizerTokenEnum, rtl::CStringHash, rtl::CStringEqual > TypeNameHashMap
#define SAL_N_ELEMENTS(arr)
const TokenTable pTokenTableArray[]
static TypeNameHashMap * pHashMap
PPPOptimizerTokenEnum TKGet(const OUString &rToken)