#pragma once #ifndef _INC_SHLWAPI #define NO_SHLWAPI_STRFCNS #define NO_SHLWAPI_PATH #define NO_SHLWAPI_REG #define NO_SHLWAPI_STREAM #define NO_SHLWAPI_GDI #include #endif #if !defined(_INC_SHLWAPI) || defined(NOSHLWAPI) || defined(NO_SHLWAPI_PATH) BOOL WINAPI PathIsRelative(LPCTSTR pszPath); BOOL WINAPI PathRemoveFileSpec(LPTSTR pszPath); LPTSTR WINAPI PathFindExtension(LPCTSTR pszPath); LPTSTR WINAPI PathAddBackslash(LPTSTR pszPath); LPTSTR WINAPI PathCombine(LPTSTR pszDest, LPCTSTR pszDir, LPCTSTR pszFile); #endif #include template class CArray : public CSimpleArray { public: T* Begin() const { return m_aT; } T* End() const { return m_aT + m_nSize; } }; template class CValArray : public CSimpleValArray { public: T* Begin() const { return m_aT; } T* End() const { return m_aT + m_nSize; } }; template class CPtrArray : public CValArray { }; template class CMap : public CSimpleMap { };