roo_io
API Documentation for roo_io
Loading...
Searching...
No Matches
posix_file_output_stream.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
roo_io/fs/posix/config.h
"
4
5
#if ROO_IO_FS_SUPPORT_POSIX
6
7
#include <stdio.h>
8
#include <sys/stat.h>
9
10
#include "
roo_io/core/output_stream.h
"
11
#include "
roo_io/fs/filesystem.h
"
12
13
namespace
roo_io
{
14
15
class
PosixFileOutputStream
:
public
OutputStream {
16
public
:
17
PosixFileOutputStream
(
Status
error
);
18
19
PosixFileOutputStream
(std::shared_ptr<MountImpl> mount,
FILE
*
file
);
20
21
~PosixFileOutputStream
();
22
23
size_t
write(
const
byte
*
buf
,
size_t
count
)
override
;
24
25
void
close()
override
;
26
27
Status
status()
const override
{
return
status_; }
28
29
private
:
30
std::shared_ptr<MountImpl> mount_;
31
FILE
*
file_
;
32
mutable
int64_t
size_;
33
mutable
Status
status_;
34
};
35
36
}
// namespace roo_io
37
38
#endif
// ROO_IO_FS_SUPPORT_POSIX
config.h
filesystem.h
roo_io
Definition
byte.h:6
roo_io::basic_string_view
roo::basic_string_view< CharT, Traits > basic_string_view
Definition
string_view.h:8
roo_io::count
size_t count
Definition
compare.h:45
roo_io::Status
Status
Definition
status.h:7
output_stream.h
temp_repos
roo_io
src
roo_io
fs
posix
posix_file_output_stream.h
Generated by
1.9.8