![]() |
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.