Class to track data flow and detect a specific pattern
PatternFinder.cpp
- Committer:
- chris215
- Date:
- 2016-01-11
- Revision:
- 0:b8cca837d413
- Child:
- 1:038d0018a542
File content as of revision 0:b8cca837d413:
#include "PatternFinder.h" // make the linker aware of some possible types template class PatternFinder<uint8_t>; template class PatternFinder<int8_t>; template class PatternFinder<uint16_t>; template class PatternFinder<int16_t>; template class PatternFinder<uint32_t>; template class PatternFinder<int32_t>; template class PatternFinder<uint64_t>; template class PatternFinder<int64_t>; template class PatternFinder<char>; template class PatternFinder<wchar_t>; template <class T> PatternFinder<T>::PatternFinder(T* Pattern,uint32_t PatternSize) { m_PatternSize = PatternSize; m_PatternReference = new T[PatternSize]; T *src = Pattern; T *dst = &m_PatternReference[PatternSize-1]; //We must invert the given pattern so that it better fits the matching algorithm for(int x = 0; x < PatternSize ;x++) { *dst-- = *src++; } m_CurrentPattern = new T[PatternSize]; return; } template <class T> PatternFinder<T>::~PatternFinder() { delete [] m_PatternReference; delete [] m_CurrentPattern; return; }