![]() |
XII Release 0.1.0
|
This class implements a profiling scope similar to xiiProfilingScope, but with additional sub-scopes which can be added easily without introducing actual C++ scopes. More...
#include <Profiling.h>
Public Member Functions | |
XII_FOUNDATION_DLL | xiiProfilingListScope (xiiStringView sListName, xiiStringView sFirstSectionName, xiiStringView sFunctionName) |
Static Public Member Functions | |
static XII_FOUNDATION_DLL void | StartNextSection (xiiStringView sNextSectionName) |
Protected Attributes | |
xiiProfilingListScope * | m_pPreviousList |
xiiStringView | m_sListName |
xiiStringView | m_sListFunction |
xiiTime | m_ListBeginTime |
xiiStringView | m_sCurSectionName |
xiiTime | m_CurSectionBeginTime |
Static Protected Attributes | |
static thread_local xiiProfilingListScope * | s_pCurrentList |
This class implements a profiling scope similar to xiiProfilingScope, 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 XII_PROFILE_LIST_SCOPE provided below.