![]() |
Plasma Engine
2.0
|
This class implements a profiling scope similar to plProfilingScope, but with additional sub-scopes which can be added easily without introducing actual C++ scopes. More...
#include <Profiling.h>
Public Member Functions | |
PL_FOUNDATION_DLL | plProfilingListScope (plStringView sListName, plStringView sFirstSectionName, const char *szFunctionName) |
Static Public Member Functions | |
static PL_FOUNDATION_DLL void | StartNextSection (plStringView sNextSectionName) |
Protected Attributes | |
plProfilingListScope * | m_pPreviousList |
plStringView | m_sListName |
const char * | m_szListFunction |
plTime | m_ListBeginTime |
plStringView | m_sCurSectionName |
plTime | m_CurSectionBeginTime |
Static Protected Attributes | |
static thread_local plProfilingListScope * | s_pCurrentList |
This class implements a profiling scope similar to plProfilingScope, but with additional sub-scopes which can be added easily without introducing actual C++ scopes.
The constructor pushes one surrounding scope on the stack and then a nested scope as the first section. The function StartNextSection() will end the nested scope and start a new inner scope. This allows to end one scope and start a new one, without having to add actual C++ scopes for starting/stopping profiling scopes.
You shouldn't need to use this directly, just use the macro PL_PROFILE_LIST_SCOPE provided below.