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