35#define g4timemory_hh 1
39# include "G4GlobalConfig.hh"
51#ifdef GEANT4_USE_TIMEMORY
53# include <timemory/timemory.hpp>
74 template <
typename... _Types,
typename... _Args>
77 template <
typename... _Args>
93 template <
typename... _Args>
96 template <
typename... _Args>
108# define TIMEMORY_INIT(...)
109# define TIMEMORY_FINALIZE()
110# define TIMEMORY_CONFIGURE(...)
113# define TIMEMORY_BASIC_LABEL(...) std::string("")
114# define TIMEMORY_LABEL(...) std::string("")
115# define TIMEMORY_JOIN(...) std::string("")
118# define TIMEMORY_BLANK_MARKER(...)
119# define TIMEMORY_BASIC_MARKER(...)
120# define TIMEMORY_MARKER(...)
123# define TIMEMORY_BLANK_POINTER(...)
124# define TIMEMORY_BASIC_POINTER(...)
125# define TIMEMORY_POINTER(...)
128# define TIMEMORY_BLANK_CALIPER(...)
129# define TIMEMORY_BASIC_CALIPER(...)
130# define TIMEMORY_CALIPER(...)
133# define TIMEMORY_STATIC_BLANK_CALIPER(...)
134# define TIMEMORY_STATIC_BASIC_CALIPER(...)
135# define TIMEMORY_STATIC_CALIPER(...)
138# define TIMEMORY_CALIPER_APPLY(...)
139# define TIMEMORY_CALIPER_TYPE_APPLY(...)
142# define TIMEMORY_BLANK_HANDLE(...) g4tim::dummy()
143# define TIMEMORY_BASIC_HANDLE(...) g4tim::dummy()
144# define TIMEMORY_HANDLE(...) tim::dummy()
147# define TIMEMORY_BLANK_POINTER_HANDLE(...) nullptr
148# define TIMEMORY_BASIC_POINTER_HANDLE(...) nullptr
149# define TIMEMORY_POINTER_HANDLE(...) nullptr
152# define TIMEMORY_DEBUG_BLANK_MARKER(...)
153# define TIMEMORY_DEBUG_BASIC_MARKER(...)
154# define TIMEMORY_DEBUG_MARKER(...)
157# define TIMEMORY_BLANK_AUTO_TIMER(...)
158# define TIMEMORY_BASIC_AUTO_TIMER(...)
159# define TIMEMORY_AUTO_TIMER(...)
160# define TIMEMORY_BLANK_AUTO_TIMER_HANDLE(...)
161# define TIMEMORY_BASIC_AUTO_TIMER_HANDLE(...)
162# define TIMEMORY_AUTO_TIMER_HANDLE(...)
163# define TIMEMORY_DEBUG_BASIC_AUTO_TIMER(...)
164# define TIMEMORY_DEBUG_AUTO_TIMER(...)
void mark_end(_Args &&...)
dummy & operator=(const dummy &)=default
void report_at_exit(bool)
dummy(const dummy &)=default
void mark_begin(_Args &&...)
friend std::ostream & operator<<(std::ostream &os, const dummy &)
dummy & operator=(dummy &&)=default
static void configure(_Args &&...)