timemory 3.3.0
Modular C++ Toolkit for Performance Analysis and Logging. Profiling API and Tools for C, C++, CUDA, Fortran, and Python. The C++ template API is essentially a framework to creating tools: it is designed to provide a unifying interface for recording various performance measurements alongside data logging and interfaces to other tools.
popen.hpp File Reference
#include "timemory/macros/os.hpp"
#include "timemory/utility/macros.hpp"
#include <cerrno>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <fcntl.h>
#include <grp.h>
#include <limits>
#include <ostream>
#include <paths.h>
#include <sstream>
#include <string>
#include <sys/param.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <vector>
#include "timemory/utility/popen.cpp"
+ Include dependency graph for popen.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tim::popen::TIMEMORY_PIPE
 

Namespaces

namespace  tim
 
namespace  tim::popen
 

Typedefs

using tim::popen::string_t = std::string
 
using tim::popen::strvec_t = std::vector< string_t >
 

Functions

 tim::popen::TIMEMORY_UTILITY_LINKAGE (TIMEMORY_PIPE *) popen(const char *path
 
 tim::popen::TIMEMORY_UTILITY_LINKAGE (int) pclose(TIMEMORY_PIPE *p)
 
 tim::popen::TIMEMORY_UTILITY_LINKAGE (pid_t) fork()
 
 tim::popen::TIMEMORY_UTILITY_LINKAGE (void) sanitize_files()
 
 tim::popen::TIMEMORY_UTILITY_LINKAGE (strvec_t) read_fork(TIMEMORY_PIPE *proc
 

Variables

char ** tim::popen::argv = nullptr
 
char char ** tim::popen::envp = nullptr)
 
int tim::popen::max_counter = 50)
 

Class Documentation

◆ tim::popen::TIMEMORY_PIPE

struct tim::popen::TIMEMORY_PIPE

Definition at line 60 of file popen.hpp.

+ Collaboration diagram for tim::popen::TIMEMORY_PIPE:
Class Members
pid_t child_pid
int child_status
FILE * read_fd
FILE * write_fd