LeechCraft  0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
timer.h
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 #pragma once
10 
11 #include <source_location>
12 #include <QElapsedTimer>
13 #include <QStringView>
14 #include "sllconfig.h"
15 
16 namespace LC::Util
17 {
19  {
20  QElapsedTimer Timer_;
21  public:
22  explicit Timer ();
23 
24  Timer (const Timer&) = delete;
25  Timer (Timer&&) = delete;
26 
27  Timer& operator= (const Timer&) = delete;
28  Timer& operator= (Timer&&) = delete;
29 
30  void Stamp (const char *context, std::source_location loc = std::source_location::current ());
31  void Stamp (QStringView context, std::source_location loc = std::source_location::current ());
32  private:
33  void RunStamp (auto&& context, std::source_location loc);
34  };
35 }
#define UTIL_SLL_API
Definition: sllconfig.h:16