/*!
	UTF8Types.h

	UTF8関係の定義
	ここに宣言されているインタフェースは、今後変更されない。
*/
#pragma once

//!	UTF8基本型
typedef unsigned char		utf8_char;

//!	UTF8文字列
typedef utf8_char*			LPU8STR;

//!	UTF8 cosnt 型
typedef const utf8_char*	LPCU8STR;


/*!
	UTF8型文字列インタフェース
*/
class IUTF8String
{
public:
	//!	文字列の取得
	virtual LPCU8STR GetString() const = 0;

	//!	長さ取得
	virtual int GetLength() const = 0;

	//!	文字列の設定
	virtual void SetString(LPCU8STR toSet, int length = -1) = 0;
};

//!	ポインタ型
typedef IUTF8String* IUTF8StringPtr;
