////////////////////////////////////////////////////////////////////////////
// CErrorBool クラスのインタフェース宣言
//
// エラー値を示すオブジェクト
////////////////////////////////////////////////////////////////////////////

#if !defined( ERRORBOOL_H_INCLUDED_ )
#define ERRORBOOL_H_INCLUDED_

class CCompoundStr;

class CErrorBool
{
public:
	CErrorBool();
	CErrorBool( bool f );
	CErrorBool( const CCompoundStr &r );
	CErrorBool( const CErrorBool &r );
	~CErrorBool();

	// 成功か否かを取得
	operator bool() const;

	// エラーメッセージを取得
	operator const CCompoundStr&() const;

	// 代入
	const CErrorBool& operator =( const CErrorBool& r );
protected:
	bool flg;	// 成功か否か
	const CCompoundStr *pStr;	// エラーメッセージ
};

#endif // ERRORBOOL_H_INCLUDED_

