QxOrm
1.5.0
C++ Object Relational Mapping library
Loading...
Searching...
No Matches
is_qt_variant_compatible.h
Go to the documentation of this file.
1
/****************************************************************************
2
**
3
** https://www.qxorm.com/
4
** Copyright (C) 2013 Lionel Marty (contact@qxorm.com)
5
**
6
** This file is part of the QxOrm library
7
**
8
** This software is provided 'as-is', without any express or implied
9
** warranty. In no event will the authors be held liable for any
10
** damages arising from the use of this software
11
**
12
** Commercial Usage
13
** Licensees holding valid commercial QxOrm licenses may use this file in
14
** accordance with the commercial license agreement provided with the
15
** Software or, alternatively, in accordance with the terms contained in
16
** a written agreement between you and Lionel Marty
17
**
18
** GNU General Public License Usage
19
** Alternatively, this file may be used under the terms of the GNU
20
** General Public License version 3.0 as published by the Free Software
21
** Foundation and appearing in the file 'license.gpl3.txt' included in the
22
** packaging of this file. Please review the following information to
23
** ensure the GNU General Public License version 3.0 requirements will be
24
** met : http://www.gnu.org/copyleft/gpl.html
25
**
26
** If you are unsure which license is appropriate for your use, or
27
** if you have questions regarding the use of this file, please contact :
28
** contact@qxorm.com
29
**
30
****************************************************************************/
31
32
#ifndef _QX_IS_QT_VARIANT_COMPATIBLE_H_
33
#define _QX_IS_QT_VARIANT_COMPATIBLE_H_
34
35
#ifdef _MSC_VER
36
#pragma once
37
#endif
38
45
46
#include <QtCore/qvariant.h>
47
48
#include <
QxCommon/QxConfig.h
>
49
50
namespace
qx
{
51
namespace
trait
{
52
57
template
<
typename
T>
58
struct
is_qt_variant_compatible
59
{
enum
{
value
= (std::is_enum<T>::value || std::is_integral<T>::value) }; };
60
61
template
<>
struct
is_qt_variant_compatible
<bool> {
enum
{
value
=
true
}; };
62
template
<>
struct
is_qt_variant_compatible
<short> {
enum
{
value
=
true
}; };
63
template
<>
struct
is_qt_variant_compatible
<int> {
enum
{
value
=
true
}; };
64
template
<>
struct
is_qt_variant_compatible
<long> {
enum
{
value
=
true
}; };
65
template
<>
struct
is_qt_variant_compatible
<long long> {
enum
{
value
=
true
}; };
66
template
<>
struct
is_qt_variant_compatible
<float> {
enum
{
value
=
true
}; };
67
template
<>
struct
is_qt_variant_compatible
<double> {
enum
{
value
=
true
}; };
68
template
<>
struct
is_qt_variant_compatible
<long double> {
enum
{
value
=
true
}; };
69
template
<>
struct
is_qt_variant_compatible
<unsigned short> {
enum
{
value
=
true
}; };
70
template
<>
struct
is_qt_variant_compatible
<unsigned int> {
enum
{
value
=
true
}; };
71
template
<>
struct
is_qt_variant_compatible
<unsigned long> {
enum
{
value
=
true
}; };
72
template
<>
struct
is_qt_variant_compatible
<unsigned long long> {
enum
{
value
=
true
}; };
73
template
<>
struct
is_qt_variant_compatible
<QString> {
enum
{
value
=
true
}; };
74
template
<>
struct
is_qt_variant_compatible
<QDate> {
enum
{
value
=
true
}; };
75
template
<>
struct
is_qt_variant_compatible
<QTime> {
enum
{
value
=
true
}; };
76
template
<>
struct
is_qt_variant_compatible
<QDateTime> {
enum
{
value
=
true
}; };
77
template
<>
struct
is_qt_variant_compatible
<QBitArray> {
enum
{
value
=
true
}; };
78
template
<>
struct
is_qt_variant_compatible
<QByteArray> {
enum
{
value
=
true
}; };
79
template
<>
struct
is_qt_variant_compatible
<QLatin1String> {
enum
{
value
=
true
}; };
80
template
<>
struct
is_qt_variant_compatible
<QStringList> {
enum
{
value
=
true
}; };
81
template
<>
struct
is_qt_variant_compatible
<QChar> {
enum
{
value
=
true
}; };
82
template
<>
struct
is_qt_variant_compatible
<QLocale> {
enum
{
value
=
true
}; };
83
template
<>
struct
is_qt_variant_compatible
<QSize> {
enum
{
value
=
true
}; };
84
template
<>
struct
is_qt_variant_compatible
<QSizeF> {
enum
{
value
=
true
}; };
85
template
<>
struct
is_qt_variant_compatible
<QPoint> {
enum
{
value
=
true
}; };
86
template
<>
struct
is_qt_variant_compatible
<QPointF> {
enum
{
value
=
true
}; };
87
template
<>
struct
is_qt_variant_compatible
<QLine> {
enum
{
value
=
true
}; };
88
template
<>
struct
is_qt_variant_compatible
<QLineF> {
enum
{
value
=
true
}; };
89
template
<>
struct
is_qt_variant_compatible
<QRect> {
enum
{
value
=
true
}; };
90
template
<>
struct
is_qt_variant_compatible
<QRectF> {
enum
{
value
=
true
}; };
91
template
<>
struct
is_qt_variant_compatible
<QUrl> {
enum
{
value
=
true
}; };
92
template
<>
struct
is_qt_variant_compatible
<QVariant> {
enum
{
value
=
true
}; };
93
94
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
95
template
<>
struct
is_qt_variant_compatible
<QRegExp> {
enum
{
value
=
true
}; };
96
#endif
// (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
97
98
#ifdef _QX_ENABLE_QT_GUI
99
template
<>
struct
is_qt_variant_compatible
<QBrush> {
enum
{
value
=
true
}; };
100
template
<>
struct
is_qt_variant_compatible
<QColor> {
enum
{
value
=
true
}; };
101
template
<>
struct
is_qt_variant_compatible
<QFont> {
enum
{
value
=
true
}; };
102
template
<>
struct
is_qt_variant_compatible
<QImage> {
enum
{
value
=
true
}; };
103
template
<>
struct
is_qt_variant_compatible
<QPixmap> {
enum
{
value
=
true
}; };
104
template
<>
struct
is_qt_variant_compatible
<QRegion> {
enum
{
value
=
true
}; };
105
#endif
// _QX_ENABLE_QT_GUI
106
107
template
<>
struct
is_qt_variant_compatible
< QList<QVariant> > {
enum
{
value
=
true
}; };
108
template
<>
struct
is_qt_variant_compatible
< QMap<QString, QVariant> > {
enum
{
value
=
true
}; };
109
template
<>
struct
is_qt_variant_compatible
< QHash<QString, QVariant> > {
enum
{
value
=
true
}; };
110
111
}
// namespace trait
112
}
// namespace qx
113
114
#endif
// _QX_IS_QT_VARIANT_COMPATIBLE_H_
QxConfig.h
List of parameters to compile and build QxOrm library.
qx::trait
QxOrm library traits (template metaprogramming) not available in boost::type_traits library.
Definition
QxMainPage.h:317
qx
Root namespace for all QxOrm library features.
Definition
IxCollection.h:50
qx::trait::is_qt_variant_compatible
qx::trait::is_qt_variant_compatible<T>::value : return true if T can be host into a QVariant object o...
Definition
is_qt_variant_compatible.h:59
qx::trait::is_qt_variant_compatible< QRect >::value
@ value
Definition
is_qt_variant_compatible.h:89
qx::trait::is_qt_variant_compatible< double >::value
@ value
Definition
is_qt_variant_compatible.h:67
qx::trait::is_qt_variant_compatible< long long >::value
@ value
Definition
is_qt_variant_compatible.h:65
qx::trait::is_qt_variant_compatible< QDate >::value
@ value
Definition
is_qt_variant_compatible.h:74
qx::trait::is_qt_variant_compatible< QSizeF >::value
@ value
Definition
is_qt_variant_compatible.h:84
qx::trait::is_qt_variant_compatible< unsigned long long >::value
@ value
Definition
is_qt_variant_compatible.h:72
qx::trait::is_qt_variant_compatible< short >::value
@ value
Definition
is_qt_variant_compatible.h:62
qx::trait::is_qt_variant_compatible< QColor >::value
@ value
Definition
is_qt_variant_compatible.h:100
qx::trait::is_qt_variant_compatible< QVariant >::value
@ value
Definition
is_qt_variant_compatible.h:92
qx::trait::is_qt_variant_compatible< QStringList >::value
@ value
Definition
is_qt_variant_compatible.h:80
qx::trait::is_qt_variant_compatible< unsigned long >::value
@ value
Definition
is_qt_variant_compatible.h:71
qx::trait::is_qt_variant_compatible< QLatin1String >::value
@ value
Definition
is_qt_variant_compatible.h:79
qx::trait::is_qt_variant_compatible< QLine >::value
@ value
Definition
is_qt_variant_compatible.h:87
qx::trait::is_qt_variant_compatible< QList< QVariant > >::value
@ value
Definition
is_qt_variant_compatible.h:107
qx::trait::is_qt_variant_compatible< long >::value
@ value
Definition
is_qt_variant_compatible.h:64
qx::trait::is_qt_variant_compatible< QImage >::value
@ value
Definition
is_qt_variant_compatible.h:102
qx::trait::is_qt_variant_compatible< QRectF >::value
@ value
Definition
is_qt_variant_compatible.h:90
qx::trait::is_qt_variant_compatible< QLocale >::value
@ value
Definition
is_qt_variant_compatible.h:82
qx::trait::is_qt_variant_compatible< QHash< QString, QVariant > >::value
@ value
Definition
is_qt_variant_compatible.h:109
qx::trait::is_qt_variant_compatible< QSize >::value
@ value
Definition
is_qt_variant_compatible.h:83
qx::trait::is_qt_variant_compatible< QString >::value
@ value
Definition
is_qt_variant_compatible.h:73
qx::trait::is_qt_variant_compatible< QDateTime >::value
@ value
Definition
is_qt_variant_compatible.h:76
qx::trait::is_qt_variant_compatible< QFont >::value
@ value
Definition
is_qt_variant_compatible.h:101
qx::trait::is_qt_variant_compatible< QBrush >::value
@ value
Definition
is_qt_variant_compatible.h:99
qx::trait::is_qt_variant_compatible< int >::value
@ value
Definition
is_qt_variant_compatible.h:63
qx::trait::is_qt_variant_compatible< QMap< QString, QVariant > >::value
@ value
Definition
is_qt_variant_compatible.h:108
qx::trait::is_qt_variant_compatible< unsigned short >::value
@ value
Definition
is_qt_variant_compatible.h:69
qx::trait::is_qt_variant_compatible< unsigned int >::value
@ value
Definition
is_qt_variant_compatible.h:70
qx::trait::is_qt_variant_compatible< QPoint >::value
@ value
Definition
is_qt_variant_compatible.h:85
qx::trait::is_qt_variant_compatible< QBitArray >::value
@ value
Definition
is_qt_variant_compatible.h:77
qx::trait::is_qt_variant_compatible< QChar >::value
@ value
Definition
is_qt_variant_compatible.h:81
qx::trait::is_qt_variant_compatible< float >::value
@ value
Definition
is_qt_variant_compatible.h:66
qx::trait::is_qt_variant_compatible< bool >::value
@ value
Definition
is_qt_variant_compatible.h:61
qx::trait::is_qt_variant_compatible< QByteArray >::value
@ value
Definition
is_qt_variant_compatible.h:78
qx::trait::is_qt_variant_compatible< QUrl >::value
@ value
Definition
is_qt_variant_compatible.h:91
qx::trait::is_qt_variant_compatible< QPointF >::value
@ value
Definition
is_qt_variant_compatible.h:86
qx::trait::is_qt_variant_compatible< QLineF >::value
@ value
Definition
is_qt_variant_compatible.h:88
qx::trait::is_qt_variant_compatible< QPixmap >::value
@ value
Definition
is_qt_variant_compatible.h:103
qx::trait::is_qt_variant_compatible< long double >::value
@ value
Definition
is_qt_variant_compatible.h:68
qx::trait::is_qt_variant_compatible::value
@ value
Definition
is_qt_variant_compatible.h:59
qx::trait::is_qt_variant_compatible< QRegion >::value
@ value
Definition
is_qt_variant_compatible.h:104
qx::trait::is_qt_variant_compatible< QTime >::value
@ value
Definition
is_qt_variant_compatible.h:75
include
QxTraits
is_qt_variant_compatible.h
Generated on Wed Jan 8 2025 13:07:13 for QxOrm by
1.13.1