/*!
	デバッグマクロ

	MFC互換になる
*/
#pragma once
#include <crtdbg.h>
#include "UTF8StringConvert.h"


/*!
	独自TRACE
	フォーマット文字列はUTF16、内部の文字列はUTF8で受ける
*/
#ifndef TRACE_U8
	#ifdef _DEBUG
		class DebugHelper
		{
		public:
			static void ReportDebugString(LPCWSTR str, ...)
			{
				utf8_char	line[1024];

				va_list argList;
				va_start(argList, str);
				vsprintf_s((LPSTR)line, 1024, (LPCSTR)_cnvU8(str), argList);
				va_end(argList);

				_RPTW0(_CRT_WARN, _cnvU16(line));
			}
		};

		#define	TRACE_U8			DebugHelper::ReportDebugString
	#else
		#define	TRACE_U8(...)
	#endif
#endif

#ifndef ASSERT
	#ifdef _DEBUG
		#define	ASSERT	_ASSERT
	#else
		#define	ASSERT(...)
	#endif
#endif

