18 double ns = std::chrono::duration_cast<std::chrono::nanoseconds>(
duration).count();
21 if (ns >= 24 * 60 * 60
e9) {
22 auto days = std::floor(ns / (24 * 60 * 60
e9));
24 ns -=
days * 24 * 60 * 60
e9;
29 if (ns >= 60 * 60
e9) {
30 auto hours = std::floor(ns / (60 * 60
e9));
42 ss << (1
e-9 * ns) <<
" s";
43 }
else if (ns >= 1
e6) {
44 ss << (1
e-6 * ns) <<
" ms";
45 }
else if (ns >= 1
e3) {
46 ss << (1
e-3 * ns) <<
" μs";
57 using std::chrono::steady_clock;
58 steady_clock::time_point end = steady_clock::now();
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
TimingScope(std::function< void(std::string const &)> printer, std::string const &message)