Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/QtCore/qgenericatomic.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // Copyright (C) 2011 Thiago Macieira <thiago@kde.org>
0002 // Copyright (C) 2016 Intel Corporation.
0003 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0004 // Qt-Security score:significant reason:default
0005 
0006 #ifndef QGENERICATOMIC_H
0007 #define QGENERICATOMIC_H
0008 
0009 #include <QtCore/qcompilerdetection.h>
0010 #include <QtCore/qtconfigmacros.h>
0011 #include <QtCore/qtypes.h>
0012 
0013 QT_BEGIN_NAMESPACE
0014 
0015 #if 0
0016 // silence syncqt warnings
0017 QT_END_NAMESPACE
0018 #pragma qt_sync_skip_header_check
0019 #pragma qt_sync_stop_processing
0020 #endif
0021 
0022 template<int Size> struct QAtomicOpsSupport
0023 {
0024     enum { IsSupported = (Size == sizeof(int) || Size == sizeof(qptrdiff)) };
0025 };
0026 
0027 template <typename T> struct QAtomicAdditiveType
0028 {
0029     typedef T AdditiveT;
0030     static const int AddScale = 1;
0031 };
0032 template <typename T> struct QAtomicAdditiveType<T *>
0033 {
0034     typedef qptrdiff AdditiveT;
0035     static const int AddScale = sizeof(T);
0036 };
0037 
0038 QT_END_NAMESPACE
0039 #endif // QGENERICATOMIC_H