FileStreamImpl.h trio/streams/FileStream.h trio/streams/StreamStatus.h trio/types/Aliases.h trio/utils/NativeString.h pma/TypeDefs.h cstddef cstdint fstream ios FileStreamImpl.cpp trio::FileStreamImpl trio //CopyrightEpicGames,Inc.AllRightsReserved. #pragmaonce #include"trio/streams/FileStream.h" #include"trio/streams/StreamStatus.h" #include"trio/types/Aliases.h" #include"trio/utils/NativeString.h" #include<pma/TypeDefs.h> #ifdef_MSC_VER #pragmawarning(push) #pragmawarning(disable:43654987) #endif #include<cstddef> #include<cstdint> #include<fstream> #include<ios> #ifdef_MSC_VER #pragmawarning(pop) #endif namespacetrio{ classFileStreamImpl:publicFileStream{ public: FileStreamImpl(constchar*path_,AccessModeaccessMode_,OpenModeopenMode_,MemoryResource*memRes_); voidopen()override; voidclose()override; std::uint64_ttell()override; voidseek(std::uint64_tposition)override; std::uint64_tsize()override; std::size_tread(char*destination,std::size_tsize)override; std::size_tread(Writable*destination,std::size_tsize)override; std::size_twrite(constchar*source,std::size_tsize)override; std::size_twrite(Readable*source,std::size_tsize)override; MemoryResource*getMemoryResource(); private: std::fstreamfile; NativeStringfilePath; AccessModefileAccessMode; OpenModefileOpenMode; std::uint64_tfileSize; MemoryResource*memRes; StreamStatusstatus; }; }//namespacetrio