Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
Classes | Namespaces | Macros
TimeTracing.h File Reference
#include <chrono>
#include <cstdint>
#include <memory>
#include <string_view>
Include dependency graph for TimeTracing.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  proteus::ScopedTimeTrace
 
class  proteus::Timer
 

Namespaces

namespace  proteus
 

Macros

#define PROTEUS_TIMESCOPE_VAR(Line)   STT_##Line
 
#define PROTEUS_TIMESCOPE_VAR_EXPAND(Line)   PROTEUS_TIMESCOPE_VAR(Line)
 
#define PROTEUS_TIMESCOPE_1(Label)    ::proteus::ScopedTimeTrace PROTEUS_TIMESCOPE_VAR_EXPAND(__LINE__)(Label);
 
#define PROTEUS_TIMESCOPE_2(Class, Method)    PROTEUS_TIMESCOPE_1(#Class "::" #Method)
 
#define PROTEUS_GET_TIMESCOPE(_1, _2, NAME, ...)   NAME
 
#define TIMESCOPE(...)
 

Macro Definition Documentation

◆ PROTEUS_GET_TIMESCOPE

#define PROTEUS_GET_TIMESCOPE (   _1,
  _2,
  NAME,
  ... 
)    NAME

◆ PROTEUS_TIMESCOPE_1

#define PROTEUS_TIMESCOPE_1 (   Label)     ::proteus::ScopedTimeTrace PROTEUS_TIMESCOPE_VAR_EXPAND(__LINE__)(Label);

◆ PROTEUS_TIMESCOPE_2

#define PROTEUS_TIMESCOPE_2 (   Class,
  Method 
)     PROTEUS_TIMESCOPE_1(#Class "::" #Method)

◆ PROTEUS_TIMESCOPE_VAR

#define PROTEUS_TIMESCOPE_VAR (   Line)    STT_##Line

◆ PROTEUS_TIMESCOPE_VAR_EXPAND

#define PROTEUS_TIMESCOPE_VAR_EXPAND (   Line)    PROTEUS_TIMESCOPE_VAR(Line)

◆ TIMESCOPE

#define TIMESCOPE (   ...)
Value:
PROTEUS_TIMESCOPE_1)(__VA_ARGS__)
#define PROTEUS_TIMESCOPE_2(Class, Method)
Definition TimeTracing.h:63
#define PROTEUS_GET_TIMESCOPE(_1, _2, NAME,...)
Definition TimeTracing.h:65
#define PROTEUS_TIMESCOPE_1(Label)
Definition TimeTracing.h:61