/**
 * 最初の著者:: トゥイー
 * リポジトリ情報:: $Id: WChar2Char.hpp 12 2011-05-05 00:59:46Z yutaka_at_home $
 * 著作権:: Copyright (C) Ownway.info, 2011. All rights reserved.
 * ライセンス:: CPL(Common Public Licence)
 */

#ifndef _WINDOWS_WIDE_CHAR_TO_CHAR_HPP_
#define _WINDOWS_WIDE_CHAR_TO_CHAR_HPP_

#include <windows.h>

#include <iostream>

namespace spcf {

	/**
	 * ワイドキャラクタをキャラクタに変換するラッパーです。
	 *
	 * @author トゥイー
	 */
	class WChar2Char {
	private:
		char* buffer_;

	public:
		WChar2Char(const WCHAR* const buffer);
		~WChar2Char();

	private:
		WChar2Char(const WChar2Char& c);
		WChar2Char& operator=(const WChar2Char& c);

	public:
		operator char*() const {
			return buffer_;
		}

	public:
		friend std::ostream& operator<<(std::ostream&, const WChar2Char& buffer);
	};

}  // namespace spcf

#endif
