#pragma once #include "TempFS.hpp" #include "VFSFix.hpp" namespace Tesses::Framework::Filesystem::Helpers { void ReadAllText(std::shared_ptr vfs, VFSPath path, std::string& text); void ReadAllLines(std::shared_ptr vfs, VFSPath path, std::vector& lines); void ReadAllBytes(std::shared_ptr vfs, VFSPath path, std::vector& array); std::string ReadAllText(std::shared_ptr vfs, VFSPath path); std::vector ReadAllLines(std::shared_ptr vfs, VFSPath path); std::vector ReadAllBytes(std::shared_ptr vfs, VFSPath path); void WriteAllText(std::shared_ptr vfs, VFSPath path, const std::string& text); void WriteAllLines(std::shared_ptr vfs, VFSPath path, const std::vector& parts); void WriteAllBytes(std::shared_ptr vfs, VFSPath path, const std::vector& bytes); void CopyStreamProgress(std::shared_ptr src,std::shared_ptr dest, std::function progress); void CopyFile(std::shared_ptr vfsSrc, VFSPath pathSrc, std::shared_ptr vfsDest, VFSPath pathDest, bool overwrite=true); void CopyFile(std::shared_ptr vfsSrc, VFSPath pathSrc, std::shared_ptr vfsDest, VFSPath pathDest, std::function progress, bool overwrite=true); void CopyDirectory(std::shared_ptr vfsSrc, VFSPath pathSrc, std::shared_ptr vfsDest, VFSPath pathDest, bool overwrite=true); void CopyDirectory(std::shared_ptr vfsSrc, VFSPath pathSrc, std::shared_ptr vfsDest, VFSPath pathDest, std::function progress, bool overwrite=true); inline std::shared_ptr CreateTempFS(bool deleteOnDestroy=true) { return std::make_shared(deleteOnDestroy); } inline std::shared_ptr CreateTempFS(std::shared_ptr vfs,bool deleteOnDestroy=true) { return std::make_shared(vfs,deleteOnDestroy); } }