ProcStats::unique_fd Class Reference

Public Member Functions

 unique_fd (int fd=-1)
 
 unique_fd (unique_fd &&other)
 
 ~unique_fd ()
 
 operator bool () const
 
template<typename... Args>
unique_fdopen (Args &&...args)
 
 unique_fd_forward (lseek) unique_fd_forward(read) unique_fd_forward(write) unique_fd_forward(fcntl) unique_fd_forward(fsync) unique_fd_forward(fchown) unique_fd_forward(stat) int close()
 

Private Member Functions

 unique_fd (const unique_fd &)=delete
 
unique_fdoperator= (const unique_fd &)=delete
 

Private Attributes

int m_fd
 

Detailed Description

Definition at line 61 of file ProcStats.h.

Constructor & Destructor Documentation

ProcStats::unique_fd::unique_fd ( const unique_fd )
privatedelete
ProcStats::unique_fd::unique_fd ( int  fd = -1)
inline

Definition at line 66 of file ProcStats.h.

66 : m_fd(fd) {}
unique_fd fd
Definition: ProcStats.h:88
ProcStats::unique_fd::unique_fd ( unique_fd &&  other)
inline

Definition at line 67 of file ProcStats.h.

67 { m_fd = other.m_fd; other.m_fd = -1; }
ProcStats::unique_fd::~unique_fd ( )
inline

Definition at line 68 of file ProcStats.h.

68 { if (m_fd != -1) ::close(m_fd); }

Member Function Documentation

template<typename... Args>
unique_fd& ProcStats::unique_fd::open ( Args &&...  args)
inline

Definition at line 72 of file ProcStats.h.

72 { m_fd = ::open(std::forward<Args>(args)...); return *this; }
unique_fd & open(Args &&...args)
Definition: ProcStats.h:72
ProcStats::unique_fd::operator bool ( ) const
inlineexplicit

Definition at line 70 of file ProcStats.h.

70 { return m_fd != -1; }
unique_fd& ProcStats::unique_fd::operator= ( const unique_fd )
privatedelete
ProcStats::unique_fd::unique_fd_forward ( lseek  )
inline

Definition at line 76 of file ProcStats.h.

84  { auto r = ::close(m_fd); m_fd = -1; return r; }

Member Data Documentation

int ProcStats::unique_fd::m_fd
private

Definition at line 62 of file ProcStats.h.


The documentation for this class was generated from the following file: