Shkyera Engine
Easy to use, game engine for Python
Loading...
Searching...
No Matches
Profiler.hpp File Reference
#include <chrono>
#include <map>
#include <mutex>
#include <string>
#include <thread>
Include dependency graph for Profiler.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  shkyera::ProfileBlock
 
class  shkyera::ProfileGuard
 
class  shkyera::Profiler
 

Namespaces

namespace  shkyera
 

Macros

#define SHKYERA_PROFILE(name)   ProfileGuard __SHKYERA_UNIQUE_NAME(__LINE__)(name)
 
#define SHKYERA_READ_PROFILE   Profiler::getInstance().getProfiles()
 
#define SHKYERA_CLEAR_PROFILE   Profiler::getInstance().clear()
 
#define __SHKYERA_UNIQUE_NAME(LINE)   __SHKYERA_CONCAT(profileGuard_, LINE)
 
#define __SHKYERA_CONCAT(X, Y)   __SHKYERA_CONCAT_IMPL(X, Y)
 
#define __SHKYERA_CONCAT_IMPL(X, Y)   X##Y
 

Macro Definition Documentation

◆ __SHKYERA_CONCAT

#define __SHKYERA_CONCAT (   X,
 
)    __SHKYERA_CONCAT_IMPL(X, Y)

◆ __SHKYERA_CONCAT_IMPL

#define __SHKYERA_CONCAT_IMPL (   X,
 
)    X##Y

◆ __SHKYERA_UNIQUE_NAME

#define __SHKYERA_UNIQUE_NAME (   LINE)    __SHKYERA_CONCAT(profileGuard_, LINE)

◆ SHKYERA_CLEAR_PROFILE

#define SHKYERA_CLEAR_PROFILE   Profiler::getInstance().clear()

◆ SHKYERA_PROFILE

#define SHKYERA_PROFILE (   name)    ProfileGuard __SHKYERA_UNIQUE_NAME(__LINE__)(name)

◆ SHKYERA_READ_PROFILE

#define SHKYERA_READ_PROFILE   Profiler::getInstance().getProfiles()