Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- -----------------------------------------------------------------------------
- Filename: File.hpp
- -----------------------------------------------------------------------------
- -----------------------------------------------------------------------------
- */
- // Declare Once
- #pragma once
- // Includes
- #include "Defines.hpp"
- // Namespace ------------------------------------------------------------------------------
- namespace Little
- {
- // Class definition -------------------------------------------------------------------
- class File
- {
- public:
- // Constructors
- File();
- File(const File&) {};
- ~File() {};
- // Stuff
- enum Mode : Byte { fRead = 1, fWrite = 2, fOverwrite = 4 };
- enum Offset : Byte { fBegin, fCurrent, fEnd };
- // Methods
- bool Open(String, Mode);
- template <typename T> T Read();
- template <typename T> T* Read(UInt);
- template <typename T> Int Write(T);
- template <typename T> Int Write(T, UInt);
- Pointer ReadData(UInt);
- UInt Seek(Offset, UInt);
- void Close();
- // Reading
- // Public members
- UInt FileSize;
- Pointer Data;
- UInt Size;
- UInt Position;
- bool End;
- private:
- // Private members
- HANDLE mFile;
- BY_HANDLE_FILE_INFORMATION mFileInfo;
- };
- }
- // Define templated functions
- #include "File.tpp"
Advertisement
Add Comment
Please, Sign In to add comment