Alexandria
2.19
Please provide a description of the project.
|
Go to the documentation of this file.
19 #ifndef POOLTESTS_FILEACCESSOR_H
20 #define POOLTESTS_FILEACCESSOR_H
22 #include <boost/thread/shared_mutex.hpp>
53 template <
typename TFD>
80 template <
typename TFD>
120 template <typename TFD>
152 #define FILEACCESSOR_IMPL
154 #undef FILEACCESSOR_IMPL
156 #endif // POOLTESTS_FILEACCESSOR_H
boost::unique_lock< SharedMutex > UniqueLock
boost::shared_mutex SharedMutex
bool isReadOnly() const final
FileReadAccessor(FileReadAccessor &&)=default
But it can be moved.
virtual ~FileReadAccessor()
Destructor.
virtual ~FileAccessor()=default
Destructor.
FileReadAccessor(const FileReadAccessor &)=delete
It can not be copied.
FileReadAccessor(TFD &&fd, ReleaseDescriptorCallback release_callback, SharedLock lock)
FileAccessor< TFD > Base_
std::function< void(TFD &&)> ReleaseDescriptorCallback
bool isReadOnly() const final
FileAccessor(TFD &&fd, ReleaseDescriptorCallback release_callback)
virtual bool isReadOnly() const =0
boost::shared_lock< SharedMutex > SharedLock
virtual ~FileWriteAccessor()
Destructor.
FileWriteAccessor(TFD &&fd, ReleaseDescriptorCallback release_callback, UniqueLock lock)
boost::upgrade_lock< SharedMutex > UpgradeLock
boost::upgrade_to_unique_lock< SharedMutex > UpgradeToUniqueLock
virtual ~FileAccessorBase()=default
TFD m_fd
The wrapped file descriptor.
FileAccessor< TFD > Base_
ReleaseDescriptorCallback m_release_callback