19#ifndef FILEACCESSOR_IMPL
20#error "This file should not be included directly! Use FileAccessor.h instead"
26template <
typename TFD>
28 : m_fd(std::
move(fd)), m_release_callback(release_callback) {}
30template <
typename TFD>
31FileReadAccessor<TFD>::FileReadAccessor(TFD&& fd, ReleaseDescriptorCallback release_callback, SharedLock lock)
32 : FileAccessor<TFD>(
std::
move(fd), release_callback), m_shared_lock(
std::
move(
lock)) {}
34template <
typename TFD>
35FileReadAccessor<TFD>::~FileReadAccessor() {
36 FileAccessor<TFD>::m_release_callback(
std::move(FileAccessor<TFD>::m_fd));
39template <
typename TFD>
40bool FileReadAccessor<TFD>::isReadOnly()
const {
44template <
typename TFD>
45FileWriteAccessor<TFD>::FileWriteAccessor(TFD&& fd, ReleaseDescriptorCallback release_callback, UniqueLock lock)
46 : FileAccessor<TFD>(
std::
move(fd), release_callback), m_unique_lock(
std::
move(
lock)) {}
48template <
typename TFD>
49FileWriteAccessor<TFD>::~FileWriteAccessor<TFD>() {
50 FileAccessor<TFD>::m_release_callback(
std::move(FileAccessor<TFD>::m_fd));
53template <
typename TFD>
54bool FileWriteAccessor<TFD>::isReadOnly()
const {
FileAccessor(TFD &&fd, ReleaseDescriptorCallback release_callback)