#ifdef DLL_VERSION template< class T > T* ReadDataArray( void* ptr, size_t size ) { static T ukTypePtr[ ALLOCATION_MAX ]; #else template< class T > unique_ptr< T* > ReadDataArray( void* ptr, size_t size ) { T* ukTypePtr = new T[ size ]; #endif if( m_bIsInternal ) { memcpy( ukTypePtr, ptr, size ); } else { ReadProcessMemory( m_hProcess, ptr, ukTypePtr, size, 0 ); } #ifdef DLL_VERSION return ukTypePtr #else return unique_ptr< T >( ukTypePtr ); #endif }