Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:07:20

0001 // Copyright (C) 2022 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 
0004 #ifndef QCONSTRUCTORMACROS_H
0005 #define QCONSTRUCTORMACROS_H
0006 
0007 #if 0
0008 #pragma qt_class(QtConstructorMacros)
0009 #pragma qt_sync_stop_processing
0010 #endif
0011 
0012 #if defined(__cplusplus)
0013 
0014 #ifndef Q_CONSTRUCTOR_FUNCTION
0015 # define Q_CONSTRUCTOR_FUNCTION0(AFUNC) \
0016     namespace { \
0017     static const struct AFUNC ## _ctor_class_ { \
0018         inline AFUNC ## _ctor_class_() { AFUNC(); } \
0019     } AFUNC ## _ctor_instance_; \
0020     }
0021 
0022 # define Q_CONSTRUCTOR_FUNCTION(AFUNC) Q_CONSTRUCTOR_FUNCTION0(AFUNC)
0023 #endif
0024 
0025 #ifndef Q_DESTRUCTOR_FUNCTION
0026 # define Q_DESTRUCTOR_FUNCTION0(AFUNC) \
0027     namespace { \
0028     static const struct AFUNC ## _dtor_class_ { \
0029         inline AFUNC ## _dtor_class_() { } \
0030         inline ~ AFUNC ## _dtor_class_() { AFUNC(); } \
0031     } AFUNC ## _dtor_instance_; \
0032     }
0033 # define Q_DESTRUCTOR_FUNCTION(AFUNC) Q_DESTRUCTOR_FUNCTION0(AFUNC)
0034 #endif
0035 
0036 #endif // __cplusplus
0037 
0038 #endif // QCONSTRUCTORMACROS_H