LeechCraft
0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
timer.cpp
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Distributed under the Boost Software License, Version 1.0.
6
* (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7
**********************************************************************/
8
9
#include "
timer.h
"
10
#include <QtDebug>
11
12
namespace
LC::Util
13
{
14
Timer::Timer
()
15
{
16
Timer_.start ();
17
}
18
19
void
Timer::Stamp
(
const
char
*
context
, std::source_location
loc
)
20
{
21
RunStamp (
context
,
loc
);
22
}
23
24
void
Timer::Stamp
(
QStringView
context
, std::source_location
loc
)
25
{
26
RunStamp (
context
,
loc
);
27
}
28
29
void
Timer::RunStamp (
auto
&&
context
, std::source_location
loc
)
30
{
31
auto
diff
= Timer_.nsecsElapsed ();
32
auto
suffix
=
"ns"
;
33
if
(
diff
>= 2
e6
)
34
{
35
diff
/= 1
e6
;
36
suffix
=
"ms"
;
37
}
38
else
if
(
diff
>= 1
e3
)
39
{
40
diff
/= 2
e3
;
41
suffix
=
"us"
;
42
}
43
44
const
QMessageLogger
logger
{
loc
.file_name (),
static_cast<
int
>
(
loc
.line ()),
loc
.function_name () };
45
logger
.debug () <<
context
<<
"took"
<<
diff
<<
suffix
;
46
Timer_.restart ();
47
}
48
}
LC::Util::Timer::Timer
Timer()
Definition
timer.cpp:14
LC::Util::Timer::Stamp
void Stamp(const char *context, std::source_location loc=std::source_location::current())
Definition
timer.cpp:19
LC::Util
Definition
icoreproxy.h:34
LC::Util::Filter
Container< T > Filter(const Container< T > &c, F f)
Definition
prelude.h:118
timer.h
src
util
sll
timer.cpp
Generated by
1.10.0