Furrent
io.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <cstdint>
4 #include <filesystem>
5 #include <string>
6 #include <util/result.hpp>
7 #include <vector>
8 
9 namespace fur::platform::io {
10 
11 enum class IOError {
18 };
19 
21 template <typename T>
23 using util::Empty;
24 
28 IOResult<Empty> touch(const std::string& filename, int64_t size);
29 
32 IOResult<bool> exists(const std::string& filename);
33 
36 IOResult<Empty> remove(const std::string& filename);
37 
42 IOResult<Empty> write_bytes(const std::string& filename,
43  const std::vector<uint8_t>& bytes, int64_t offset);
44 
49 IOResult<std::string> create_directories(const std::string& path,
50  bool skip_last = false);
51 
55 IOResult<std::string> load_file_text(const std::string& filepath);
56 
57 } // namespace fur::platform::io
fur::platform::io::remove
IOResult< Empty > remove(const std::string &filename)
Definition: io.cpp:43
fur::platform::io::IOError::PathDoesNotExists
@ PathDoesNotExists
fur::platform::io::exists
IOResult< bool > exists(const std::string &filename)
Definition: io.cpp:36
fur::platform::io::IOError
IOError
Definition: io.hpp:11
fur::util::Result
Used to handle errors without using exceptions.
Definition: result.hpp:18
fur::platform::io
Definition: io.cpp:7
fur::platform::io::load_file_text
IOResult< std::string > load_file_text(const std::string &filepath)
Definition: io.cpp:103
fur::platform::io::create_directories
IOResult< std::string > create_directories(const std::string &path, bool skip_last)
Definition: io.cpp:77
fur::util::Empty
Definition: result.hpp:51
fur::platform::io::IOError::DirectoryAlreadyExists
@ DirectoryAlreadyExists
fur::platform::io::touch
IOResult< Empty > touch(const std::string &filename, int64_t size)
Definition: io.cpp:9
fur::platform::io::IOError::FileAlreadyExists
@ FileAlreadyExists
fur::platform::io::write_bytes
IOResult< Empty > write_bytes(const std::string &filename, const std::vector< uint8_t > &bytes, int64_t offset)
Definition: io.cpp:51
fur::platform::io::IOError::GenericError
@ GenericError
fur::platform::io::IOError::InvalidPath
@ InvalidPath
result.hpp
fur::platform::io::IOError::CannotOpenFile
@ CannotOpenFile