AusweisApp
Lade ...
Suche ...
Keine Treffer
SingletonHelper.h
gehe zur Dokumentation dieser Datei
1
5/*
6 * \brief Helper to introduce a Singleton.
7 * Be aware to use this helper in .cpp file only!
8 */
9
10#pragma once
11
12#include <QGlobalStatic>
13#include <QObject>
14
15#define defineSingleton(className)\
16 namespace\
17 {\
18 class Singleton##className final\
19 : public className\
20 {\
21 public:\
22 using className::className;\
23 };\
24 }\
25\
26 Q_GLOBAL_STATIC(Singleton##className, Instance)\
27\
28 className & className::getInstance()\
29 {\
30 return *Instance;\
31 }\
32\
33 static_assert(!std::is_base_of_v<QObject, className>, "QObject cannot be Q_GLOBAL_STATIC");