Tier0: add template inline for FindPatternSIMD

This allows for directly setting a function pointer without double casting it, and significantly reduce code verbosity.
This commit is contained in:
Kawe Mazidjatari 2023-12-24 20:38:07 +01:00
parent 05352d9d17
commit 053a1ca9e0

View File

@ -28,6 +28,15 @@ public:
void LoadSections();
CMemory FindPatternSIMD(const char* szPattern, const ModuleSections_t* moduleSection = nullptr) const;
template<typename T>
inline void FindPatternSIMD(const char* szPattern,
T*& pMemPtrOut, const ModuleSections_t* moduleSection = nullptr) const
{
CMemory mem = FindPatternSIMD(szPattern, moduleSection);
pMemPtrOut = mem.RCast<T*>();
}
CMemory FindString(const char* szString, const ptrdiff_t occurrence = 1, bool nullTerminator = false) const;
CMemory FindStringReadOnly(const char* szString, bool nullTerminator) const;
CMemory FindFreeDataPage(const size_t nSize) const;