File Annotation

Not logged in
dcdd144598 2011-02-23        kinaba: #ifndef _KILIB_FILE_H_
dcdd144598 2011-02-23        kinaba: #define _KILIB_FILE_H_
dcdd144598 2011-02-23        kinaba: #include "types.h"
dcdd144598 2011-02-23        kinaba: #include "memory.h"
dcdd144598 2011-02-23        kinaba: #ifndef __ccdoc__
dcdd144598 2011-02-23        kinaba: namespace ki {
dcdd144598 2011-02-23        kinaba: #endif
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: //=========================================================================
dcdd144598 2011-02-23        kinaba: //@{ @pkg ki.StdLib //@}
dcdd144598 2011-02-23        kinaba: //@{
dcdd144598 2011-02-23        kinaba: //	�ȈՃt�@�C���Ǎ�
dcdd144598 2011-02-23        kinaba: //
dcdd144598 2011-02-23        kinaba: //	�t�@�C���}�b�s���O��p����̂ŁA�������ȒP�ł��ƍ����ł��B
dcdd144598 2011-02-23        kinaba: //	���������������ƂɁA4GB�܂ł����J���܂���B
dcdd144598 2011-02-23        kinaba: //@}
dcdd144598 2011-02-23        kinaba: //=========================================================================
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: class FileR : public Object
dcdd144598 2011-02-23        kinaba: {
dcdd144598 2011-02-23        kinaba: public:
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	FileR();
dcdd144598 2011-02-23        kinaba: 	~FileR();
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	//@{
dcdd144598 2011-02-23        kinaba: 	//	�J��
dcdd144598 2011-02-23        kinaba: 	//	@param fname �t�@�C����
dcdd144598 2011-02-23        kinaba: 	//	@return �J�������ǂ���
dcdd144598 2011-02-23        kinaba: 	//@}
dcdd144598 2011-02-23        kinaba: 	bool Open( const TCHAR* fname );
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	//@{
dcdd144598 2011-02-23        kinaba: 	//	�‚���
dcdd144598 2011-02-23        kinaba: 	//@}
dcdd144598 2011-02-23        kinaba: 	void Close();
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: public:
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	//@{ �t�@�C���T�C�Y //@}
dcdd144598 2011-02-23        kinaba: 	ulong size() const;
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	//@{ �t�@�C�����e���}�b�v�����A�h���X�擾 //@}
dcdd144598 2011-02-23        kinaba: 	const uchar* base() const;
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: private:
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	HANDLE      handle_;
dcdd144598 2011-02-23        kinaba: 	HANDLE      fmo_;
dcdd144598 2011-02-23        kinaba: 	ulong       size_;
dcdd144598 2011-02-23        kinaba: 	const void* basePtr_;
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: private:
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	NOCOPY(FileR);
dcdd144598 2011-02-23        kinaba: };
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: //-------------------------------------------------------------------------
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: inline ulong FileR::size() const
dcdd144598 2011-02-23        kinaba: 	{ return size_; }
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: inline const uchar* FileR::base() const
dcdd144598 2011-02-23        kinaba: 	{ return static_cast<const uchar*>(basePtr_); }
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: //=========================================================================
dcdd144598 2011-02-23        kinaba: //@{
dcdd144598 2011-02-23        kinaba: //	�ȈՃt�@�C����������
dcdd144598 2011-02-23        kinaba: //
dcdd144598 2011-02-23        kinaba: //	�Ă��Ɓ[�Ƀo�b�t�@�����O���‚B
dcdd144598 2011-02-23        kinaba: //@}
dcdd144598 2011-02-23        kinaba: //=========================================================================
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: class FileW : public Object
dcdd144598 2011-02-23        kinaba: {
dcdd144598 2011-02-23        kinaba: public:
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	FileW();
dcdd144598 2011-02-23        kinaba: 	~FileW();
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	//@{ �J�� //@}
dcdd144598 2011-02-23        kinaba: 	bool Open( const TCHAR* fname, bool creat=true );
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	//@{ �‚��� //@}
dcdd144598 2011-02-23        kinaba: 	void Close();
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	//@{ ���� //@}
dcdd144598 2011-02-23        kinaba: 	void Write( const void* buf, ulong siz );
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	//@{ �ꕶ������ //@}
dcdd144598 2011-02-23        kinaba: 	void WriteC( uchar ch );
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: public:
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	void Flush();
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: private:
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	const int    BUFSIZE;
dcdd144598 2011-02-23        kinaba: 	HANDLE       handle_;
dcdd144598 2011-02-23        kinaba: 	uchar* const buf_;
dcdd144598 2011-02-23        kinaba: 	ulong        bPos_;
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: private:
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 	NOCOPY(FileW);
dcdd144598 2011-02-23        kinaba: };
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: //=========================================================================
dcdd144598 2011-02-23        kinaba: 
dcdd144598 2011-02-23        kinaba: }      // namespace ki
dcdd144598 2011-02-23        kinaba: #endif // _KILIB_FILE_H_