Furrent
src
platform
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
{
12
GenericError
,
13
CannotOpenFile
,
14
InvalidPath
,
15
PathDoesNotExists
,
16
FileAlreadyExists
,
17
DirectoryAlreadyExists
,
18
};
19
21
template
<
typename
T>
22
using
IOResult
=
util::Result<T, IOError>
;
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
Generated by
1.8.17