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.
|
The purpose of this operation class is for a component to provide some extra customization within a GOTCHA function. It allows a GOTCHA component to inspect the arguments and the return type of a wrapped function. To add support to a component, define void audit(std::string, context, <Args...>)
. The first argument is the function name (possibly mangled), the second is either type tim::audit::incoming or tim::audit::outgoing, and the remaining arguments are the corresponding types.
More...
#include "timemory/operations/types/audit.hpp"
Public Types | |
using | type = Tp |
using | gotcha_data_t = component::gotcha_data |
Public Member Functions | |
TIMEMORY_DELETED_OBJECT (audit) template< typename... Args > audit(type &obj | |
auto | operator() (type &obj) const |
template<typename Up , typename... Args, enable_if_t< concepts::is_phase_id< Up >::value > = 0> | |
auto | operator() (type &obj, const gotcha_data_t &_data, Up &&_phase, Args &&... args) const |
template<typename Arg , typename... Args, enable_if_t<!std::is_same< decay_t< Arg >, gotcha_data_t >::value > = 0> | |
auto | operator() (type &obj, Arg &&arg, Args &&... args) const |
Public Attributes | |
Args && | args |
The purpose of this operation class is for a component to provide some extra customization within a GOTCHA function. It allows a GOTCHA component to inspect the arguments and the return type of a wrapped function. To add support to a component, define void audit(std::string, context, <Args...>)
. The first argument is the function name (possibly mangled), the second is either type tim::audit::incoming or tim::audit::outgoing, and the remaining arguments are the corresponding types.
One such purpose may be to create a custom component that intercepts a malloc and uses the arguments to get the exact allocation size.
using tim::operation::audit< Tp >::gotcha_data_t = component::gotcha_data |
using tim::operation::audit< Tp >::type = Tp |
|
inline |
|
inline |
|
inline |
tim::operation::audit< Tp >::TIMEMORY_DELETED_OBJECT | ( | audit< Tp > | ) | & |
Args&& tim::operation::audit< Tp >::args |
Definition at line 67 of file audit.hpp.
Referenced by tim::operation::audit< Tp >::operator()().