24#ifndef MYSQL_HARNESS_STDX_FILE_HANDLE_INCLUDED
25#define MYSQL_HARNESS_STDX_FILE_HANDLE_INCLUDED
28#include <system_error>
85 return value() & other;
104 using dev_t = ::_dev_t;
105 using ino_t = ::_ino_t;
125 : handle_{
std::exchange(rhs.handle_, invalid_handle)},
126 devid_{
std::move(rhs.devid_)},
127 inode_{
std::move(rhs.inode_)},
128 caching_{
std::move(rhs.caching_)},
129 flags_{
std::move(rhs.flags_)} {}
132 if (handle_ != invalid_handle) {
154 return std::exchange(handle_, invalid_handle);
Definition: expected.h:943
Definition: filesystem.h:37
a type-safe flags type.
Definition: flags.h:114
Definition: file_handle.h:97
native_handle_type native_handle() const noexcept
Definition: file_handle.h:160
file_handle(const file_handle &)=delete
int native_handle_type
Definition: file_handle.h:102
::ino_t ino_t
Definition: file_handle.h:108
file_handle(file_handle &&rhs)
Definition: file_handle.h:124
caching caching_
Definition: file_handle.h:173
::dev_t dev_t
Definition: file_handle.h:107
ino_t st_ino() const noexcept
Definition: file_handle.h:163
dev_t devid_
Definition: file_handle.h:171
caching kernel_caching() const noexcept
Definition: file_handle.h:157
dev_t st_dev() const noexcept
Definition: file_handle.h:162
file_handle & operator=(const file_handle &)=delete
file_handle(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none) noexcept
Definition: file_handle.h:113
flag flags() const noexcept
Definition: file_handle.h:158
~file_handle()
Definition: file_handle.h:131
flag flags_
Definition: file_handle.h:174
ino_t inode_
Definition: file_handle.h:172
Definition: file_handle.h:73
value_type value_
Definition: file_handle.h:89
constexpr flag(value_type v)
Definition: file_handle.h:80
constexpr value_type operator&(const value_type &other)
Definition: file_handle.h:84
uint64_t value_type
Definition: file_handle.h:75
static constexpr value_type none
Definition: file_handle.h:77
static constexpr value_type unlink_on_first_close
Definition: file_handle.h:78
constexpr value_type value() const noexcept
Definition: file_handle.h:82
Definition: file_handle.h:92
static int flags[50]
Definition: hp_test1.cc:39
static char * path
Definition: mysqldump.cc:133
stdx::expected< void, std::error_code > close(file_handle_type native_handle)
close file handle.
Definition: file.h:238
Definition: varlen_sort.h:183
stdx::expected< void, std::error_code > unlink(const char *path_name)
Definition: filesystem.cc:61
HARNESS_STDX_EXPORT path current_path()
get current path.
Definition: filesystem.cc:138
creation
Definition: file_handle.h:51
mode
Definition: file_handle.h:59
caching
Definition: file_handle.h:66
#define HARNESS_STDX_EXPORT
Definition: stdx_export.h:15