Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qconstructormacros.h
Go to the documentation of this file.
1
// Copyright (C) 2022 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#ifndef QCONSTRUCTORMACROS_H
5
#define QCONSTRUCTORMACROS_H
6
7
#if 0
8
#pragma qt_class(QtConstructorMacros)
9
#pragma qt_sync_stop_processing
10
#endif
11
12
#if defined(__cplusplus)
13
14
#ifndef Q_CONSTRUCTOR_FUNCTION
15
# define Q_CONSTRUCTOR_FUNCTION0(AFUNC) \
16
namespace { \
17
static const struct AFUNC ## _ctor_class_ { \
18
inline AFUNC ## _ctor_class_() { AFUNC(); } \
19
} AFUNC ## _ctor_instance_; \
20
}
21
22
# define Q_CONSTRUCTOR_FUNCTION(AFUNC) Q_CONSTRUCTOR_FUNCTION0(AFUNC)
23
#endif
24
25
#ifndef Q_DESTRUCTOR_FUNCTION
26
# define Q_DESTRUCTOR_FUNCTION0(AFUNC) \
27
namespace { \
28
static const struct AFUNC ## _dtor_class_ { \
29
inline AFUNC ## _dtor_class_() { } \
30
inline ~ AFUNC ## _dtor_class_() { AFUNC(); } \
31
} AFUNC ## _dtor_instance_; \
32
}
33
# define Q_DESTRUCTOR_FUNCTION(AFUNC) Q_DESTRUCTOR_FUNCTION0(AFUNC)
34
#endif
35
36
#endif
// __cplusplus
37
38
#endif
// QCONSTRUCTORMACROS_H
qtbase
src
corelib
global
qconstructormacros.h
Generated by
1.10.0