# 1 "c:\\projects\\shared\\Code\\Game\\GameBlob.cpp"
# 1 "c:\\projects\\shared//"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "c:\\projects\\shared\\Code\\Game\\Game.cpp"


# 1 "c:\\projects\\shared\\Code\\Game\\/Main.cpp" 1



# 1 "Code/Core/Mem/NewDefine.h" 1


# 1 "Code/Core/Mem/MemTracerSetting.h" 1





       
# 4 "Code/Core/Mem/NewDefine.h" 2




# 1 "Code/Core/Mem/MemTracer.h" 1





       

# 1 "Code/Core/Strings/StringTable.h" 1





       
# 19 "Code/Core/Strings/StringTable.h"


# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
typedef unsigned char		uint8_t;
typedef signed char			int8_t;
typedef unsigned short		uint16_t;
typedef signed short		int16_t;
typedef unsigned int		uint32_t;
typedef signed int			int32_t;
typedef unsigned long long	uint64_t;
typedef signed long long	int64_t;





# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1

	
	





	template<bool> struct compile_time_assert_failure;
	template<> struct compile_time_assert_failure<true>{};

	class AssertHandler
	{
	public:
		static void SetThrowOnAssert( bool throwOnAssert )
		{
			s_ThrowOnAssert = throwOnAssert;
		}
		static bool Failure( const char * message, 
							 const char * file,  
							 const int line );

		static bool s_ThrowOnAssert;
	};
























# 1 "Code/Core/Strings/StringTable.h" 1


class UnitTest;



class UnitTestManager
{
public:
	UnitTestManager();
	~UnitTestManager();

	
	bool RunTests( const char * testGroup = nullptr );

	
	


		static		  UnitTestManager &	Get();
# 4 "Code/Core/Mem/NewDefine.h" 2
	static inline bool					IsValid() { return ( s_Instance != 0 ); }

	
	static void RegisterTestGroup( UnitTest * testGroup );
	static void DeRegisterTestGroup( UnitTest * testGroup );

	
	void TestBegin( const char * testName );
	void TestEnd();

	
	static bool AssertFailure( const char * message, const char * file, uint32_t line );

private:
	uint32_t	m_TestsRun;
	uint32_t	m_TestsPassed;
	const char * m_CurrentTestName;

	static UnitTestManager * s_Instance;
	static UnitTest * s_FirstTest; 
};

# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1




class AscendingCompare
{
public:
	template < class T >
	inline bool operator () ( const T & a, const T & b ) const
	{
		return ( a < b );
	}
};



class AscendingCompareDeref
{
public:
	template < class T >
	inline bool operator () ( const T & a, const T & b ) const
	{
		return ( ( *a ) < ( *b ) );
	}
};



template < class T, class COMPARE >
void ShellSort( T * begin, T * end, const COMPARE & compare )
{
	size_t numItems = end - begin;
	size_t increment = 3;
	while ( increment > 0 )
	{
		for ( size_t i=0; i < numItems; i++ )
		{
			size_t j = i;
			T temp( begin[ i ] );
			while ( ( j >= increment ) && ( compare( temp, begin[ j - increment ]  ) ) )
			{
				begin[ j ] = begin[ j - increment ];
				j = j - increment;
			}
			begin[ j ] = temp;
		}
		if ( increment / 2 != 0 )
		{
			increment = increment / 2 ;
		}
		else if ( increment == 1 )
		{
			increment = 0;
		}
		else
		{
			increment = 1;
		}
	}    
}

# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2


class Math
{
public:
	static inline uint16_t RoundUp( uint16_t value, uint16_t alignment )
	{
		return ( value + alignment - 1) & ~( alignment - 1 );
	}
	static inline uint32_t RoundUp( uint32_t value, uint32_t alignment )
	{
		return ( value + alignment - 1) & ~( alignment - 1 );
	}
	static inline uint64_t RoundUp( uint64_t value, uint64_t alignment )
	{
		return ( value + alignment - 1) & ~( alignment - 1 );
	}
	template <class T>
	static inline T Max( T a, T b )
	{
		return ( a > b ) ? a : b;
	}
	template <class T>
	static inline T Min( T a, T b )
	{
		return ( a < b ) ? a : b;
	}
};
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2



































































































































































































































































































































































































































































# 1 "Code/Core/Mem/MemTracer.h" 1



































































































































































































































































































































































































































































# 1 "Code/Core/Strings/StringTable.h" 1



































































































































































































































































































































































































































































# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"


































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"


































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Mem/MemTracer.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Strings/StringTable.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 4 "Code/Core/Mem/NewDefine.h" 2








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Mem/MemTracer.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Strings/StringTable.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 4 "Code/Core/Mem/NewDefine.h" 2








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Mem/MemTracer.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Strings/StringTable.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 4 "Code/Core/Mem/NewDefine.h" 2








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Mem/MemTracer.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Strings/StringTable.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 4 "Code/Core/Mem/NewDefine.h" 2








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Mem/MemTracer.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Strings/StringTable.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 4 "Code/Core/Mem/NewDefine.h" 2








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2
# 1 "Code/Core/Mem/MemTracer.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Strings/StringTable.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 4 "Code/Core/Mem/NewDefine.h" 2








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Mem/MemTracer.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Strings/StringTable.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 4 "Code/Core/Mem/NewDefine.h" 2








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Mem/MemTracer.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Strings/StringTable.h" 1
# 4 "Code/Core/Mem/NewDefine.h" 2








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Mem/MemTracer.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 1 "Code/Core/Strings/StringTable.h" 1








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"



























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































# 4 "Code/Core/Mem/NewDefine.h" 2








#pragma pack(pop)
#line 84 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 85 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\eh.h"
#line 41 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\exception"
 #line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\malloc.h"














#pragma once




#line 1 "C:\\p4\\External\\SDK\\VS12.0\\VC\\include\\crtdefs.h"






























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































template < class T >
class Array
{
public:
	explicit Array();
	explicit Array( const Array< T > & other );
	explicit Array( size_t initialCapacity, bool resizeable = false );
	~Array();

	void Destruct();

	
	typedef	T *			Iter;
	typedef const T *	ConstIter;
	Iter		Begin()	const	{ return m_Begin; }
	Iter		End() const		{ return m_End; }
	inline T &			operator [] ( size_t index )		{ do { __pragma(warning(push)) __pragma(warning(disable:4127)) if ( !( index < GetSize() ) ) { if ( AssertHandler::Failure( "index < GetSize()", "C:\\p4\\Code\\Core/Containers/Array.h", 35 ) ) { __debugbreak(); } } } while ( false ); __pragma(warning(pop)); return m_Begin[ index ]; }
	inline const T &	operator [] ( size_t index ) const	{ do { __pragma(warning(push)) __pragma(warning(disable:4127)) if ( !( index < GetSize() ) ) { if ( AssertHandler::Failure( "index < GetSize()", "C:\\p4\\Code\\Core/Containers/Array.h", 36 ) ) { __debugbreak(); } } } while ( false ); __pragma(warning(pop)); return m_Begin[ index ]; }
	inline T &			Top()		{ do { __pragma(warning(push)) __pragma(warning(disable:4127)) if ( !( m_Begin < m_End ) ) { if ( AssertHandler::Failure( "m_Begin < m_End", "C:\\p4\\Code\\Core/Containers/Array.h", 37 ) ) { __debugbreak(); } } } while ( false ); __pragma(warning(pop)); return m_End[ -1 ]; }
	inline const T &	Top() const	{ do { __pragma(warning(push)) __pragma(warning(disable:4127)) if ( !( m_Begin < m_End ) ) { if ( AssertHandler::Failure( "m_Begin < m_End", "C:\\p4\\Code\\Core/Containers/Array.h", 38 ) ) { __debugbreak(); } } } while ( false ); __pragma(warning(pop)); return m_End[ -1 ]; }

	
	void SetCapacity( size_t capacity );
	void SetSize( size_t size );
	void Clear();
	void Swap( Array< T > & other );

	
	void Sort() { ShellSort( m_Begin, m_End, AscendingCompare() ); }
	void SortDeref() { ShellSort( m_Begin, m_End, AscendingCompareDeref() ); }
	template < class COMPARER >
	void Sort( const COMPARER & comp ) { ShellSort( m_Begin, m_End, comp ); }

	
	template < class U >
	T * Find( const U & obj ) const;
	template < class U >
	T * FindDeref( const U & obj ) const;

	
	void Append( const T & item );
	void Append( const Array< T > & other );
	void Pop();
	void PopFront(); 
	void Erase( T * const iter );

	Array & operator = ( const Array< T > & other );

	
	inline bool		IsAtCapacity() const	{ return ( m_End == m_MaxEnd ) && ( m_Resizeable == false ); }
	inline size_t	GetCapacity() const		{ return ( m_MaxEnd - m_Begin ); }
	inline size_t	GetSize() const			{ return ( m_End - m_Begin ); }
	inline bool		IsEmpty() const			{ return ( m_Begin == m_End ); }

private:
	void Grow();
	inline T * Allocate( size_t numElements ) const;
	inline void Deallocate( T * ptr ) const;

	T * m_Begin;
	T * m_End;
	T * m_MaxEnd;
	bool m_Resizeable;
};



template < class T >
Array< T >::Array()
	: m_Begin( nullptr )
	, m_End( nullptr )
	, m_MaxEnd( nullptr )
	, m_Resizeable( true )
{
}



template < class T >
Array< T >::Array( const Array< T > & other )
{
	new (this) Array( other.GetSize(), true );
	*this = other;
}



template < class T >
Array< T >::Array( size_t initialCapacity, bool resizeable )
{
	if ( initialCapacity )
	{
		
			m_Resizeable = true; 
		m_Begin = Allocate( initialCapacity );
		m_End = m_Begin;
		m_MaxEnd = m_Begin + initialCapacity;
	}
	else
	{
		m_Begin = nullptr;
		m_End = nullptr;
		m_MaxEnd = nullptr;
	}
	m_Resizeable = resizeable;
}



template < class T >
Array< T >::~Array()
{
	Destruct();
}



template < class T >
void Array< T >::Destruct()
{
	T * iter = m_Begin;
	while ( iter < m_End )
	{
		iter->~T();
		iter++;
	}
	Deallocate( m_Begin );
	m_Begin = nullptr;
	m_End = nullptr;
	m_MaxEnd = nullptr;
}



template < class T >
void Array< T >::SetCapacity( size_t capacity )
{
	if ( capacity == GetCapacity() )
	{
		return;
	}

	T * newMem = Allocate( capacity );

	
	
	size_t itemsToKeep = Math::Min( capacity, GetSize() );
	T * src = m_Begin;
	T * dst = newMem;
	T * keepEnd = m_Begin + itemsToKeep;
	while ( src < m_End )
	{
		if ( src < keepEnd )
		{
			new ( dst ) T( *src );
		}
		src->~T();
		src++;
		dst++;
	}

	
	Deallocate( m_Begin );

	
	m_Begin = newMem;
	m_End = newMem + itemsToKeep;
	m_MaxEnd = newMem + capacity;
}



template < class T >
void Array< T >::SetSize( size_t size )
{
	size_t oldSize = GetSize();

	
	if ( oldSize == size )
	{
		return;
	}

	
	if ( size < oldSize )
	{
		
		T * item = m_Begin + size;
		T * end = m_End;
		while ( item < end )
		{
			item->~T();
			item++;
		}
		m_End = m_Begin + size;
		return;
	}

	

	
	if ( size > GetCapacity() )
	{
		SetCapacity( size );
	}

	
	T * item = m_End;
	T * newEnd = m_Begin + size;
	while( item < newEnd )
	{
		new ( item ) T;
		item++;
	}
	m_End = newEnd;
}



template < class T >
void Array< T >::Clear()
{
	
	T * src = m_Begin;
	while ( src < m_End )
	{
		src->~T();
		src++;
	}

	
	m_End = m_Begin;
}



template < class T >
void Array< T >::Swap( Array< T > & other )
{
	T * tmpBegin = m_Begin;
	T * tmpEnd = m_End;
	T * tmpMaxEnd = m_MaxEnd;
	bool tmpResizeable = m_Resizeable;
	m_Begin = other.m_Begin;
	m_End = other.m_End;
	m_MaxEnd = other.m_MaxEnd;
	m_Resizeable = other.m_Resizeable;
	other.m_Begin = tmpBegin;
	other.m_End = tmpEnd;
	other.m_MaxEnd = tmpMaxEnd;
	other.m_Resizeable = tmpResizeable;
}



template < class T >
template < class U >
T * Array< T >::Find( const U & obj ) const
{
	T * pos = m_Begin;
	T * end = m_End;
	while ( pos < end )
	{
		if ( *pos == obj )
		{
			return pos;
		}
		pos++;
	}
	return nullptr;
}



template < class T >
template < class U >
T * Array< T >::FindDeref( const U & obj ) const
{
	T * pos = m_Begin;
	T * end = m_End;
	while ( pos < end )
	{
		if ( *(*pos) == obj )
		{
			return pos;
		}
		pos++;
	}
	return nullptr;
}



template < class T >
void Array< T >::Append( const T & item )
{
	if ( m_End == m_MaxEnd )
	{
		Grow();
	}
	new ( m_End ) T( item );
	m_End++;
}



template < class T >
void Array< T >::Append( const Array< T > & other  )
{
	auto end = other.End();
	for ( auto it = other.Begin(); it != end; ++it )
	{
		Append( *it );
	}	
}



template < class T >
void Array< T >::Pop()
{
	do { __pragma(warning(push)) __pragma(warning(disable:4127)) if ( !( m_Begin < m_End ) ) { if ( AssertHandler::Failure( "m_Begin < m_End", "C:\\p4\\Code\\Core/Containers/Array.h", 341 ) ) { __debugbreak(); } } } while ( false ); __pragma(warning(pop)); 

	T * it = --m_End;
	it->~T();
	(void)it; 
}



template < class T >
void Array< T >::PopFront()
{
	do { __pragma(warning(push)) __pragma(warning(disable:4127)) if ( !( m_Begin < m_End ) ) { if ( AssertHandler::Failure( "m_Begin < m_End", "C:\\p4\\Code\\Core/Containers/Array.h", 353 ) ) { __debugbreak(); } } } while ( false ); __pragma(warning(pop)); 

	
	T * dst = m_Begin;
	T * src = m_Begin + 1;
	while ( src < m_End )
	{
		*dst = *src;
		dst++;
		src++;
	}

	
	dst->~T();

	m_End--;
}



template < class T >
void Array< T >::Erase( T * const iter )
{
	do { __pragma(warning(push)) __pragma(warning(disable:4127)) if ( !( iter < m_End ) ) { if ( AssertHandler::Failure( "iter < m_End", "C:\\p4\\Code\\Core/Containers/Array.h", 376 ) ) { __debugbreak(); } } } while ( false ); __pragma(warning(pop));

	T * dst = iter;
	T * last = ( m_End - 1 );
	while ( dst < last )
	{
		*dst = *(dst + 1);
		dst++;
	}
	dst->~T();
	m_End = last;
}



template < class T >
Array< T > & Array< T >::operator = ( const Array< T > & other )
{
	Clear();

	
	const size_t otherSize = other.GetSize();
	if ( GetCapacity() < otherSize )
	{
		Deallocate( m_Begin );
		m_Begin = Allocate( otherSize );
		m_MaxEnd = m_Begin + otherSize;
	}

	m_End = m_Begin + otherSize;
	T * dst = m_Begin;
	T * src = other.m_Begin;
	const T * end = m_End;
	while ( dst < end )
	{
		new ( dst ) T( *src );
		dst++;
		src++;
	}
	
	return *this;
}



template < class T >
void Array< T >::Grow()
{
	do { __pragma(warning(push)) __pragma(warning(disable:4127)) if ( !( m_Resizeable ) ) { if ( AssertHandler::Failure( "m_Resizeable", "C:\\p4\\Code\\Core/Containers/Array.h", 424 ) ) { __debugbreak(); } } } while ( false ); __pragma(warning(pop));

	
	size_t currentCapacity = GetCapacity();
	size_t size = GetSize();
	size_t newCapacity = ( currentCapacity + ( currentCapacity >> 1 ) + 1 );
	T * newMem = Allocate( newCapacity );

	T * src = m_Begin;
	T * dst = newMem;
	while ( src < m_End )
	{
		new ( dst ) T( *src );
		src->~T();
		dst++;
		src++;
	}
	Deallocate( m_Begin );
	m_Begin = newMem;
	m_End = ( newMem ) + size;
	m_MaxEnd = ( newMem ) + newCapacity;
}


# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1




class AString
{
public:
	explicit AString();
	explicit AString( uint32_t reserve );
	explicit AString( const AString & string );
	explicit AString( const char * string );
	explicit AString( const char * start, const char * end );
	~AString();

	inline uint32_t		GetLength() const	{ return m_Length; }
	inline uint32_t		GetReserved() const { return ( m_ReservedAndFlags & RESERVED_MASK ); }
	inline bool			IsEmpty() const		{ return ( m_Length == 0 ); }

	
	inline char *		Get()				{ return m_Contents; }
	inline const char * Get() const			{ return m_Contents; }
	inline char *		GetEnd()			{ return ( m_Contents + m_Length ); }
	inline const char *	GetEnd() const		{ return ( m_Contents + m_Length ); }
	inline char &		operator [] ( uint32_t index )		 { do { __pragma(warning(push)) __pragma(warning(disable:4127)) if ( !( index < m_Length ) ) { if ( AssertHandler::Failure( "index < m_Length", "C:\\p4\\Code\\Core/Strings/AString.h", 34 ) ) { __debugbreak(); } } } while ( false ); __pragma(warning(pop)); return m_Contents[ index ]; }
	inline const char & operator [] ( uint32_t index )  const { do { __pragma(warning(push)) __pragma(warning(disable:4127)) if ( !( index < m_Length ) ) { if ( AssertHandler::Failure( "index < m_Length", "C:\\p4\\Code\\Core/Strings/AString.h", 35 ) ) { __debugbreak(); } } } while ( false ); __pragma(warning(pop)); return m_Contents[ index ]; }

	
	static const AString & GetEmpty() { return s_EmptyAString; }

	
	inline AString & operator = ( const char * string ) { Assign( string ); return *this; }
	inline AString & operator = ( const AString & string ) { Assign( string ); return *this; }
	void Assign( const char * string );
	void Assign( const char * start, const char * end );
	void Assign( const AString & string );
	void Clear();

	
	void SetLength( uint32_t len );

	
	AString & operator += ( char c );
	AString & operator += ( const char * string );
	AString & operator += ( const AString & string );
	void Append( const char * string, size_t len );

	
	bool operator == ( const char * other ) const;
	bool operator == ( const AString & other ) const;
	inline bool operator != ( const AString & other ) const { return !(*this == other ); }
	int32_t CompareI( const AString & other ) const;
	inline bool operator < ( const AString & other ) const { return ( CompareI( other ) < 0 ); }

	inline bool MemoryMustBeFreed() const { return ( ( m_ReservedAndFlags & MEM_MUST_BE_FREED_FLAG ) == MEM_MUST_BE_FREED_FLAG ); }

	void Format( const char * fmtString, ... );
	void VFormat( const char * fmtString, va_list arg );

	void Tokenize( Array< AString > & tokens ) const;

	
	uint32_t Replace( char from, char to, uint32_t maxReplaces = 0 );
	uint32_t Replace( const char * from, const char * to, uint32_t maxReplaces = 0 );
	void ToLower();

	
	const char *	Find( char c, const char * startPos = nullptr ) const;
	char *			Find( char c, char * startPos = nullptr ) { return const_cast< char *>( ((const AString *)this)->Find( c, startPos ) ); }
	const char *	Find( const char * subString ) const;
	char *			Find( const char * subString ) { return const_cast< char *>( ((const AString *)this)->Find( subString ) ); }
	const char *	FindI( const char * subString ) const;
	const char *	FindLast( char c ) const;
	char *			FindLast( char c ) { return const_cast< char *>( ((const AString *)this)->FindLast( c ) ); }
	bool			EndsWith( char c ) const;
	bool			EndsWith( const char * string ) const;
	bool			EndsWithI( const char * other ) const;
	bool			EndsWithI( const AString & other ) const;
	bool			BeginsWith( char c ) const;
	bool			BeginsWith( const char * string ) const;
	bool			BeginsWith( const AString & string ) const;
	bool			BeginsWithI( const char * string ) const;
	bool			BeginsWithI( const AString & string ) const;

	
	static void Copy( const char * src, char * dst, size_t len );
	static size_t StrLen( const char * string );
	static int32_t StrNCmp( const char * a, const char * b, size_t num );
	static int32_t StrNCmpI( const char * a, const char * b, size_t num );

protected:
	enum { MEM_MUST_BE_FREED_FLAG	= 0x00000001 };
	enum { RESERVED_MASK			= 0xFFFFFFFE };

	inline void SetReserved( uint32_t reserved, bool mustFreeMemory )
	{ 
		do { __pragma(warning(push)) __pragma(warning(disable:4127)) if ( !( ( reserved & MEM_MUST_BE_FREED_FLAG ) == 0 ) ) { if ( AssertHandler::Failure( "( reserved & MEM_MUST_BE_FREED_FLAG ) == 0", "C:\\p4\\Code\\Core/Strings/AString.h", 106 ) ) { __debugbreak(); } } } while ( false ); __pragma(warning(pop)); 
		m_ReservedAndFlags = ( reserved ^ ( mustFreeMemory ? MEM_MUST_BE_FREED_FLAG : 0 ) );
	}
	__declspec( noinline ) void Grow( uint32_t newLen );		
	__declspec( noinline ) void GrowNoCopy( uint32_t newLen ); 

	char *		m_Contents;			
	uint32_t	m_Length;			
	uint32_t	m_ReservedAndFlags;	

	static const char * const   s_EmptyString;
	static const AString	s_EmptyAString;
};

# 4 "Code/Core/Mem/NewDefine.h" 2


class CIncludeParser
{
public:
	explicit CIncludeParser();
	~CIncludeParser();

	bool ParseMSCL_Output( const char * compilerOutput, size_t compilerOutputSize );
	bool ParseMSCL_Preprocessed( const char * compilerOutput, size_t compilerOutputSize );
	bool ParseGCC_Preprocessed( const char * compilerOutput, size_t compilerOutputSize );

	const Array< AString > & GetIncludes() const { return m_Includes; }

	
	void SwapIncludes( Array< AString > & includes );

private:
	bool Parse( const char * compilerOutput,
				size_t compilerOutputSize,
				const char * startOfLineString,
				bool quoted );

	Array< AString > m_Includes;
};

# 1 "Code/Core/Mem/MemTracer.h" 1
# 1 "Code/Core/Strings/StringTable.h" 1



class TestIncludeParser : public UnitTest
{
private:
	virtual void RunTests(); virtual const char * GetName() const; virtual bool RunThisTestOnly() const { return true; }

	void TestMSVCPreprocessedOutput() const;
	void TestMSVCShowIncludesOutput() const;
	void TestGCCPreprocessedOutput() const;
};



class RegisterTestsForTestIncludeParser { public: RegisterTestsForTestIncludeParser() { m_Test = new TestIncludeParser; UnitTestManager::RegisterTestGroup( m_Test ); } ~RegisterTestsForTestIncludeParser() { UnitTestManager::DeRegisterTestGroup( m_Test ); delete m_Test; } TestIncludeParser * m_Test; } s_RegisterTestsForTestIncludeParser; const char * TestIncludeParser::GetName() const { return "TestIncludeParser"; } void TestIncludeParser::RunTests() { UnitTestManager & utm = UnitTestManager::Get(); (void)utm;
	utm.TestBegin( "TestMSVCPreprocessedOutput" ); TestMSVCPreprocessedOutput(); utm.TestEnd();;
	utm.TestBegin( "TestMSVCShowIncludesOutput" ); TestMSVCShowIncludesOutput(); utm.TestEnd();;
	utm.TestBegin( "TestGCCPreprocessedOutput" ); TestGCCPreprocessedOutput(); utm.TestEnd();;
}



void TestIncludeParser::TestMSVCPreprocessedOutput() const
{
}



void TestIncludeParser::TestMSVCShowIncludesOutput() const
{
}



void TestIncludeParser::TestGCCPreprocessedOutput() const
{
}

