Go to the documentation of this file.
   11 #ifndef GAUDIAUD_PROCSTATS_H 
   12 #define GAUDIAUD_PROCSTATS_H 
   20 #if defined( __linux__ ) or defined( __APPLE__ ) 
   22 #  include <sys/stat.h> 
   23 #  include <sys/types.h> 
   25 #endif // __linux__ or __APPLE__ 
   34 #  pragma warning( push ) 
   35 #  pragma warning( disable : 1572 ) 
   42 #  pragma warning( pop ) 
   83     explicit operator bool()
 const { 
return m_fd != -1; }
 
   84     template <
typename... Args>
 
   89 #define unique_fd_forward( fun )                                                                                       \ 
   90   template <typename... Args>                                                                                          \ 
   91   auto fun( Args&&... args ) const->decltype( ::fun( m_fd, std::forward<Args>( args )... ) ) {                         \ 
   92     return ::fun( m_fd, std::forward<Args>( args )... );                                                               \ 
   96 #undef unique_fd_forward 
   98       auto r = ::close( 
m_fd );
 
  
 
def read(f, regex='.*', skipevents=0)
static ProcStats * instance()
unique_fd(unique_fd &&other)
procInfo(double sz, double rss_sz)
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()
unique_fd & open(Args &&... args)
bool fetch(procInfo &fill_me)
unique_fd & operator=(const unique_fd &)=delete
unique_fd(const unique_fd &)=delete
bool operator==(const procInfo &p) const