8namespace Stroika::Foundation::Debug {
15 inline TimingTrace::TimingTrace ([[maybe_unused]] Time::DurationSeconds warnIfLongerThan)
16#if qStroika_Foundation_Debug_DefaultTracingOn
17 : WhenTimeExceeded{warnIfLongerThan, [
this] (Time::DurationSeconds timeTaken)
noexcept {
18 if (fShowIfTimeExceeded_) {
19 DbgTrace (Characters::FormatString{
"(timeTaken={})"}, timeTaken);
25 inline TimingTrace::TimingTrace ([[maybe_unused]]
const char* label, [[maybe_unused]] Time::DurationSeconds warnIfLongerThan)
26#if qStroika_Foundation_Debug_DefaultTracingOn
27 : WhenTimeExceeded{warnIfLongerThan, [=,
this] (Time::DurationSeconds timeTaken)
noexcept {
28 if (fShowIfTimeExceeded_) {
29 DbgTrace (Characters::FormatString{
"{} (timeTaken={})"}, Characters::String{label}, timeTaken);
35 inline TimingTrace::TimingTrace ([[maybe_unused]]
const wchar_t* label, [[maybe_unused]] Time::DurationSeconds warnIfLongerThan)
36#if qStroika_Foundation_Debug_DefaultTracingOn
37 : WhenTimeExceeded{warnIfLongerThan, [=,
this] (Time::DurationSeconds timeTaken)
noexcept {
38 if (fShowIfTimeExceeded_) {
39 DbgTrace (Characters::FormatString{
"{} (timeTaken={})"}, label, timeTaken);
45 inline TimingTrace::TimingTrace ([[maybe_unused]]
const Characters::String& label, [[maybe_unused]] Time::DurationSeconds warnIfLongerThan)
46#if qStroika_Foundation_Debug_DefaultTracingOn
47 : WhenTimeExceeded{warnIfLongerThan, [=,
this] (Time::DurationSeconds timeTaken)
noexcept {
48 if (fShowIfTimeExceeded_) {
49 DbgTrace (Characters::FormatString{
"{} (timeTaken={})"}, label, timeTaken);
57#if qStroika_Foundation_Debug_DefaultTracingOn
58 fShowIfTimeExceeded_ =
false;
nonvirtual void Suppress()