#ifndef __MGCL_DEFS__V8
#define __MGCL_DEFS__V8

#pragma once

// 標準ライブラリのストリームの文字コード対応
#include <tchar.h>
#include <sstream> 


//
// The following macros are used to enable DLL export/import.
// MG_DLL_DECLR for class, global functions, and global valiable values in declaration.
#ifdef NO_MGCLDLL
	// Not DLL.
#	define MG_DLL_DECLR

#else

#	ifdef MGCLDLL_EXPORTS
#		define MG_DLL_DECLR		__declspec(dllexport)
#	else                     // Import DLL.
#		define MG_DLL_DECLR		__declspec(dllimport)
#	endif// MGCL_IMPORTS

#endif	//NO_MGCLDLL


//To treat UNICODE
typedef std::basic_string<TCHAR> tstring;
typedef std::basic_ostringstream<TCHAR> tostringstream;
typedef std::basic_istringstream<TCHAR> tistringstream;
typedef std::basic_ostream<TCHAR> tostream;
typedef std::basic_istream<TCHAR> tistream;
typedef std::basic_ifstream<TCHAR> tifstream;
typedef std::basic_ofstream<TCHAR> tofstream;

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ は前行の直前に追加の宣言を挿入します。

#ifdef _UNICODE
  #define TCAST const wchar_t*
  #define COUT std::wcout
  #define CERR std::wcerr
#else
  #define TCAST const char*
  #define COUT std::cout
  #define CERR std::cerr
#endif

#endif