Quick Links: |
#include <bdls_filedescriptorguard.h>
Public Member Functions | |
FileDescriptorGuard (FilesystemUtil::FileDescriptor descriptor) | |
~FileDescriptorGuard () | |
void | closeAndRelease () |
FilesystemUtil::FileDescriptor | release () |
FilesystemUtil::FileDescriptor | descriptor () const |
Public Attributes | |
FilesystemUtil::FileDescriptor | d_descriptor |
This class implements a guard that conditionally closes an open file descriptor upon its destruction.
See Component bdls_filedescriptorguard
bdls::FileDescriptorGuard::FileDescriptorGuard | ( | FilesystemUtil::FileDescriptor | descriptor | ) | [explicit] |
Create a guard object that will manage the specified descriptor
, closing it upon destruction (unless either realease
or closeAndRelease
has been called). It is permissible for descriptor
to be FilesystemUtil::k_INVALID_FD
, in which case the guard created will not manage anything.
bdls::FileDescriptorGuard::~FileDescriptorGuard | ( | ) |
If this guard object manages a file, close that file.
void bdls::FileDescriptorGuard::closeAndRelease | ( | ) |
Close the file managed by this guard and release that file from management by this object. The behavior is undefined unless this object is managing a file.
FilesystemUtil::FileDescriptor bdls::FileDescriptorGuard::release | ( | ) |
Release the file from management by this object (without closing it) and return the formerly managed descriptor. The behavior is undefined unless this object is managing a file.
FilesystemUtil::FileDescriptor bdls::FileDescriptorGuard::descriptor | ( | ) | const |
If this guard is managing a file, return the file descriptor referring to that file, and return FilesystemUtil::k_INVALID_FD
otherwise.
FilesystemUtil::FileDescriptor bdls::FileDescriptorGuard::d_descriptor |
handle for the