|
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"
Collaboration diagram for tim::operation::audit< Tp >: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()().