TexGen
Macros
ShinyMacros.h File Reference
#include "ShinyManager.h"
Include dependency graph for ShinyMacros.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PROFILER_UPDATE    Shiny::ProfileManager::instance.update
 
#define PROFILER_OUTPUT    Shiny::ProfileManager::instance.output
 
#define PROFILER_OUTPUT_TREE_STRING()    Shiny::ProfileManager::instance.outputNodesAsString()
 
#define PROFILER_OUTPUT_FLAT_STRING()    Shiny::ProfileManager::instance.outputZonesAsString()
 
#define PROFILER_DESTROY()    Shiny::ProfileManager::instance.destroy()
 
#define PROFILE_ROOT_DATA()    Shiny::ProfileManager::instance.rootZone.data
 
#define PROFILE_END()    Shiny::ProfileManager::instance._endCurNode()
 
#define PROFILE_BEGIN(name)
 
#define PROFILE_BLOCK(name)
 
#define PROFILE_FUNC()
 
#define PROFILE_CODE(code)
 
#define PROFILE_SHARED_EXTERN(name)
 
#define PROFILE_SHARED_STATIC(name)
 
#define PROFILE_SHARED_DEFINE(name)
 
#define PROFILE_SHARED_BEGIN(name)
 
#define PROFILE_SHARED_BLOCK(name)
 
#define PROFILE_SHARED_DATA(name)
 
#define _PROFILE_ID_ZONE(name)   __ShinyZone_##name
 
#define _PROFILE_ID_ZONE_FUNC()   __ShinyZoneFunc
 
#define _PROFILE_ID_ZONE_CODE()   __ShinyZoneCode
 
#define _PROFILE_ID_ZONE_SHARED(name)   name##__ShinyZoneShared
 
#define _PROFILE_ID_BLOCK()   __ShinyBlock
 
#define _PROFILE_ZONE_DEFINE(id, string)
 
#define _PROFILE_ZONE_DECLARE(prefix, id)
 
#define _PROFILE_BLOCK_DEFINE(id)
 
#define _PROFILE_ZONE_BEGIN(id)
 

Macro Definition Documentation

◆ _PROFILE_BLOCK_DEFINE

#define _PROFILE_BLOCK_DEFINE (   id)
Value:
\
Shiny::ProfileAutoEndNode SHINY_UNUSED id;
#define SHINY_UNUSED
Definition: ShinyPrereqs.h:56

Definition at line 186 of file ShinyMacros.h.

◆ _PROFILE_ID_BLOCK

#define _PROFILE_ID_BLOCK ( )    __ShinyBlock

Definition at line 161 of file ShinyMacros.h.

◆ _PROFILE_ID_ZONE

#define _PROFILE_ID_ZONE (   name)    __ShinyZone_##name

Definition at line 157 of file ShinyMacros.h.

◆ _PROFILE_ID_ZONE_CODE

#define _PROFILE_ID_ZONE_CODE ( )    __ShinyZoneCode

Definition at line 159 of file ShinyMacros.h.

◆ _PROFILE_ID_ZONE_FUNC

#define _PROFILE_ID_ZONE_FUNC ( )    __ShinyZoneFunc

Definition at line 158 of file ShinyMacros.h.

◆ _PROFILE_ID_ZONE_SHARED

#define _PROFILE_ID_ZONE_SHARED (   name)    name##__ShinyZoneShared

Definition at line 160 of file ShinyMacros.h.

◆ _PROFILE_ZONE_BEGIN

#define _PROFILE_ZONE_BEGIN (   id)
Value:
{ \
static Shiny::ProfileNodeCache cache = \
\
}
SHINY_INLINE void _beginNode(ProfileNodeCache *a_cache, ProfileZone *a_zone)
Definition: ShinyManager.h:147
static ProfileManager instance
Definition: ShinyManager.h:81
static ProfileNode _dummy
Definition: ShinyNode.h:58

Definition at line 194 of file ShinyMacros.h.

◆ _PROFILE_ZONE_DECLARE

#define _PROFILE_ZONE_DECLARE (   prefix,
  id 
)
Value:

Definition at line 178 of file ShinyMacros.h.

◆ _PROFILE_ZONE_DEFINE

#define _PROFILE_ZONE_DEFINE (   id,
  string 
)
Value:
\
Shiny::ProfileZone id = { \
{ { 0, 0 }, { 0, 0 }, { 0, 0 } } \
};

Definition at line 167 of file ShinyMacros.h.

◆ PROFILE_BEGIN

#define PROFILE_BEGIN (   name)
Value:
\
static _PROFILE_ZONE_DEFINE(_PROFILE_ID_ZONE(name), #name); \
_PROFILE_ZONE_BEGIN(_PROFILE_ID_ZONE(name));
#define _PROFILE_ZONE_DEFINE(id, string)
Definition: ShinyMacros.h:167
#define _PROFILE_ID_ZONE(name)
Definition: ShinyMacros.h:157

Definition at line 68 of file ShinyMacros.h.

◆ PROFILE_BLOCK

#define PROFILE_BLOCK (   name)
Value:
\
_PROFILE_BLOCK_DEFINE(_PROFILE_ID_BLOCK()); \
PROFILE_BEGIN(name);
#define _PROFILE_ID_BLOCK()
Definition: ShinyMacros.h:161

Definition at line 77 of file ShinyMacros.h.

◆ PROFILE_CODE

#define PROFILE_CODE (   code)
Value:
{ \
_PROFILE_ZONE_BEGIN(_PROFILE_ID_ZONE_CODE()); \
{ code; } \
PROFILE_END(); \
}
#define _PROFILE_ID_ZONE_CODE()
Definition: ShinyMacros.h:159

Definition at line 96 of file ShinyMacros.h.

◆ PROFILE_END

#define PROFILE_END ( )     Shiny::ProfileManager::instance._endCurNode()

Definition at line 61 of file ShinyMacros.h.

◆ PROFILE_FUNC

#define PROFILE_FUNC ( )
Value:
\
_PROFILE_BLOCK_DEFINE(_PROFILE_ID_BLOCK()); \
static _PROFILE_ZONE_DEFINE(_PROFILE_ID_ZONE_FUNC(), __FUNCTION__); \
_PROFILE_ZONE_BEGIN(_PROFILE_ID_ZONE_FUNC());
#define _PROFILE_ID_ZONE_FUNC()
Definition: ShinyMacros.h:158

Definition at line 86 of file ShinyMacros.h.

◆ PROFILE_ROOT_DATA

#define PROFILE_ROOT_DATA ( )     Shiny::ProfileManager::instance.rootZone.data

Definition at line 54 of file ShinyMacros.h.

◆ PROFILE_SHARED_BEGIN

#define PROFILE_SHARED_BEGIN (   name)
Value:
\
_PROFILE_ZONE_BEGIN(_PROFILE_ID_ZONE_SHARED(name));
#define _PROFILE_ID_ZONE_SHARED(name)
Definition: ShinyMacros.h:160

Definition at line 132 of file ShinyMacros.h.

◆ PROFILE_SHARED_BLOCK

#define PROFILE_SHARED_BLOCK (   name)
Value:
\
_PROFILE_BLOCK_DEFINE(_PROFILE_ID_BLOCK()); \
_PROFILE_ZONE_BEGIN(_PROFILE_ID_ZONE_SHARED(name));

Definition at line 140 of file ShinyMacros.h.

◆ PROFILE_SHARED_DATA

#define PROFILE_SHARED_DATA (   name)
Value:
\
_PROFILE_ID_ZONE_SHARED(name).data \

Definition at line 149 of file ShinyMacros.h.

◆ PROFILE_SHARED_DEFINE

#define PROFILE_SHARED_DEFINE (   name)
Value:
\
_PROFILE_ZONE_DEFINE(_PROFILE_ID_ZONE_SHARED(name), #name);

Definition at line 124 of file ShinyMacros.h.

◆ PROFILE_SHARED_EXTERN

#define PROFILE_SHARED_EXTERN (   name)
Value:
\
_PROFILE_ZONE_DECLARE(extern, _PROFILE_ID_ZONE_SHARED(name));

Definition at line 108 of file ShinyMacros.h.

◆ PROFILE_SHARED_STATIC

#define PROFILE_SHARED_STATIC (   name)
Value:
\
_PROFILE_ZONE_DECLARE(static, _PROFILE_ID_ZONE_SHARED(name));

Definition at line 116 of file ShinyMacros.h.

◆ PROFILER_DESTROY

#define PROFILER_DESTROY ( )     Shiny::ProfileManager::instance.destroy()

Definition at line 47 of file ShinyMacros.h.

◆ PROFILER_OUTPUT

#define PROFILER_OUTPUT    Shiny::ProfileManager::instance.output

Definition at line 38 of file ShinyMacros.h.

◆ PROFILER_OUTPUT_FLAT_STRING

#define PROFILER_OUTPUT_FLAT_STRING ( )     Shiny::ProfileManager::instance.outputZonesAsString()

Definition at line 44 of file ShinyMacros.h.

◆ PROFILER_OUTPUT_TREE_STRING

#define PROFILER_OUTPUT_TREE_STRING ( )     Shiny::ProfileManager::instance.outputNodesAsString()

Definition at line 41 of file ShinyMacros.h.

◆ PROFILER_UPDATE

#define PROFILER_UPDATE    Shiny::ProfileManager::instance.update

Definition at line 35 of file ShinyMacros.h.