![]() |
QxOrm
1.4.2
C++ Object Relational Mapping library
|
00001 /**************************************************************************** 00002 ** 00003 ** http://www.qxorm.com/ 00004 ** Copyright (C) 2013 Lionel Marty (contact@qxorm.com) 00005 ** 00006 ** This file is part of the QxOrm library 00007 ** 00008 ** This software is provided 'as-is', without any express or implied 00009 ** warranty. In no event will the authors be held liable for any 00010 ** damages arising from the use of this software 00011 ** 00012 ** Commercial Usage 00013 ** Licensees holding valid commercial QxOrm licenses may use this file in 00014 ** accordance with the commercial license agreement provided with the 00015 ** Software or, alternatively, in accordance with the terms contained in 00016 ** a written agreement between you and Lionel Marty 00017 ** 00018 ** GNU General Public License Usage 00019 ** Alternatively, this file may be used under the terms of the GNU 00020 ** General Public License version 3.0 as published by the Free Software 00021 ** Foundation and appearing in the file 'license.gpl3.txt' included in the 00022 ** packaging of this file. Please review the following information to 00023 ** ensure the GNU General Public License version 3.0 requirements will be 00024 ** met : http://www.gnu.org/copyleft/gpl.html 00025 ** 00026 ** If you are unsure which license is appropriate for your use, or 00027 ** if you have questions regarding the use of this file, please contact : 00028 ** contact@qxorm.com 00029 ** 00030 ****************************************************************************/ 00031 00032 #ifndef _QX_GET_CLASS_NAME_PRIMITIVE_H_ 00033 #define _QX_GET_CLASS_NAME_PRIMITIVE_H_ 00034 00035 #ifdef _MSC_VER 00036 #pragma once 00037 #endif 00038 00046 #include <string> 00047 #include <vector> 00048 #include <list> 00049 #include <map> 00050 #include <set> 00051 00052 #include <boost/scoped_ptr.hpp> 00053 #include <boost/shared_ptr.hpp> 00054 #include <boost/unordered_map.hpp> 00055 #include <boost/unordered_set.hpp> 00056 #include <boost/optional.hpp> 00057 #include <boost/tuple/tuple.hpp> 00058 00059 #ifdef _QX_CPP_11_SMART_PTR 00060 #ifndef BOOST_NO_CXX11_SMART_PTR 00061 #include <memory> 00062 #endif // BOOST_NO_CXX11_SMART_PTR 00063 #endif // _QX_CPP_11_SMART_PTR 00064 00065 #ifdef _QX_CPP_11_CONTAINER 00066 #ifndef BOOST_NO_CXX11_STD_UNORDERED 00067 #include <unordered_map> 00068 #include <unordered_set> 00069 #endif // BOOST_NO_CXX11_STD_UNORDERED 00070 #endif // _QX_CPP_11_CONTAINER 00071 00072 #ifdef _QX_CPP_11_TUPLE 00073 #ifndef BOOST_NO_CXX11_HDR_TUPLE 00074 #include <tuple> 00075 #endif // BOOST_NO_CXX11_HDR_TUPLE 00076 #endif // _QX_CPP_11_TUPLE 00077 00078 #include <QtCore/qglobal.h> 00079 #include <QtCore/qobject.h> 00080 #include <QtCore/qstring.h> 00081 #include <QtCore/qstringlist.h> 00082 #include <QtCore/qvector.h> 00083 #include <QtCore/qlist.h> 00084 #include <QtCore/qmap.h> 00085 #include <QtCore/qset.h> 00086 #include <QtCore/qhash.h> 00087 #include <QtCore/qdatetime.h> 00088 #include <QtCore/qvariant.h> 00089 #include <QtCore/qbytearray.h> 00090 #include <QtCore/qlinkedlist.h> 00091 #include <QtCore/qpair.h> 00092 #include <QtCore/qpoint.h> 00093 #include <QtCore/qrect.h> 00094 #include <QtCore/qregexp.h> 00095 #include <QtCore/qsharedpointer.h> 00096 #include <QtCore/qsize.h> 00097 #include <QtCore/qurl.h> 00098 #include <QtCore/quuid.h> 00099 #include <QtCore/QWeakPointer> 00100 00101 #include <QtSql/qsqlerror.h> 00102 00103 #ifdef _QX_ENABLE_QT_GUI 00104 #include <QtGui/qcolor.h> 00105 #include <QtGui/qfont.h> 00106 #include <QtGui/qimage.h> 00107 #include <QtGui/qbrush.h> 00108 #include <QtGui/qmatrix.h> 00109 #include <QtGui/qpicture.h> 00110 #include <QtGui/qpixmap.h> 00111 #include <QtGui/qregion.h> 00112 #endif // _QX_ENABLE_QT_GUI 00113 00114 #if (QT_VERSION >= 0x040600) 00115 #include <QtCore/qscopedpointer.h> 00116 #endif // (QT_VERSION >= 0x040600) 00117 00118 #include <QxDao/QxDaoPointer.h> 00119 00120 #include <QxTraits/get_class_name.h> 00121 00122 QX_REGISTER_CLASS_NAME(bool) 00123 QX_REGISTER_CLASS_NAME(int) 00124 QX_REGISTER_CLASS_NAME(short) 00125 QX_REGISTER_CLASS_NAME(long) 00126 QX_REGISTER_CLASS_NAME(float) 00127 QX_REGISTER_CLASS_NAME(double) 00128 QX_REGISTER_CLASS_NAME(long double) 00129 QX_REGISTER_CLASS_NAME(char) 00130 QX_REGISTER_CLASS_NAME(unsigned int) 00131 QX_REGISTER_CLASS_NAME(unsigned short) 00132 QX_REGISTER_CLASS_NAME(unsigned long) 00133 QX_REGISTER_CLASS_NAME(unsigned char) 00134 00135 QX_REGISTER_CLASS_NAME(std::string) 00136 QX_REGISTER_CLASS_NAME(std::wstring) 00137 00138 QX_REGISTER_CLASS_NAME(QObject) 00139 QX_REGISTER_CLASS_NAME(QString) 00140 QX_REGISTER_CLASS_NAME(QStringList) 00141 QX_REGISTER_CLASS_NAME(QByteArray) 00142 QX_REGISTER_CLASS_NAME(QDate) 00143 QX_REGISTER_CLASS_NAME(QDateTime) 00144 QX_REGISTER_CLASS_NAME(QPoint) 00145 QX_REGISTER_CLASS_NAME(QRect) 00146 QX_REGISTER_CLASS_NAME(QRegExp) 00147 QX_REGISTER_CLASS_NAME(QSize) 00148 QX_REGISTER_CLASS_NAME(QTime) 00149 QX_REGISTER_CLASS_NAME(QUrl) 00150 QX_REGISTER_CLASS_NAME(QVariant) 00151 QX_REGISTER_CLASS_NAME(QUuid) 00152 QX_REGISTER_CLASS_NAME(QSqlError) 00153 00154 #ifdef _QX_ENABLE_QT_GUI 00155 QX_REGISTER_CLASS_NAME(QColor) 00156 QX_REGISTER_CLASS_NAME(QFont) 00157 QX_REGISTER_CLASS_NAME(QImage) 00158 QX_REGISTER_CLASS_NAME(QBrush) 00159 QX_REGISTER_CLASS_NAME(QMatrix) 00160 QX_REGISTER_CLASS_NAME(QPicture) 00161 QX_REGISTER_CLASS_NAME(QPixmap) 00162 QX_REGISTER_CLASS_NAME(QRegion) 00163 #endif // _QX_ENABLE_QT_GUI 00164 00165 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::allocator) 00166 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::vector) 00167 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::list) 00168 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::set) 00169 00170 QX_REGISTER_CLASS_NAME_TEMPLATE_1(boost::shared_ptr) 00171 QX_REGISTER_CLASS_NAME_TEMPLATE_1(boost::scoped_ptr) 00172 QX_REGISTER_CLASS_NAME_TEMPLATE_1(boost::weak_ptr) 00173 QX_REGISTER_CLASS_NAME_TEMPLATE_1(boost::optional) 00174 00175 QX_REGISTER_CLASS_NAME_TEMPLATE_1(QVector) 00176 QX_REGISTER_CLASS_NAME_TEMPLATE_1(QList) 00177 QX_REGISTER_CLASS_NAME_TEMPLATE_1(QLinkedList) 00178 QX_REGISTER_CLASS_NAME_TEMPLATE_1(QSharedPointer) 00179 QX_REGISTER_CLASS_NAME_TEMPLATE_1(QWeakPointer) 00180 QX_REGISTER_CLASS_NAME_TEMPLATE_1(QFlags) 00181 QX_REGISTER_CLASS_NAME_TEMPLATE_1(QSet) 00182 00183 QX_REGISTER_CLASS_NAME_TEMPLATE_1(qx::dao::ptr) 00184 00185 #ifdef _QX_CPP_11_SMART_PTR 00186 #ifndef BOOST_NO_CXX11_SMART_PTR 00187 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::unique_ptr) 00188 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::shared_ptr) 00189 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::weak_ptr) 00190 #endif // BOOST_NO_CXX11_SMART_PTR 00191 #endif // _QX_CPP_11_SMART_PTR 00192 00193 QX_REGISTER_CLASS_NAME_TEMPLATE_2(std::pair) 00194 QX_REGISTER_CLASS_NAME_TEMPLATE_2(std::map) 00195 00196 QX_REGISTER_CLASS_NAME_TEMPLATE_2(boost::unordered_map) 00197 QX_REGISTER_CLASS_NAME_TEMPLATE_2(boost::unordered_multimap) 00198 QX_REGISTER_CLASS_NAME_TEMPLATE_1(boost::unordered_set) 00199 QX_REGISTER_CLASS_NAME_TEMPLATE_1(boost::unordered_multiset) 00200 00201 #ifdef _QX_CPP_11_CONTAINER 00202 #ifndef BOOST_NO_CXX11_STD_UNORDERED 00203 QX_REGISTER_CLASS_NAME_TEMPLATE_2(std::unordered_map) 00204 QX_REGISTER_CLASS_NAME_TEMPLATE_2(std::unordered_multimap) 00205 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::unordered_set) 00206 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::unordered_multiset) 00207 #endif // BOOST_NO_CXX11_STD_UNORDERED 00208 #endif // _QX_CPP_11_CONTAINER 00209 00210 QX_REGISTER_CLASS_NAME_TEMPLATE_2(QPair) 00211 QX_REGISTER_CLASS_NAME_TEMPLATE_2(QHash) 00212 QX_REGISTER_CLASS_NAME_TEMPLATE_2(QMultiHash) 00213 QX_REGISTER_CLASS_NAME_TEMPLATE_2(QMap) 00214 QX_REGISTER_CLASS_NAME_TEMPLATE_2(QMultiMap) 00215 00216 QX_REGISTER_CLASS_NAME_TEMPLATE_1(boost::tuple) 00217 QX_REGISTER_CLASS_NAME_TEMPLATE_2(boost::tuple) 00218 QX_REGISTER_CLASS_NAME_TEMPLATE_3(boost::tuple) 00219 QX_REGISTER_CLASS_NAME_TEMPLATE_4(boost::tuple) 00220 QX_REGISTER_CLASS_NAME_TEMPLATE_5(boost::tuple) 00221 QX_REGISTER_CLASS_NAME_TEMPLATE_6(boost::tuple) 00222 QX_REGISTER_CLASS_NAME_TEMPLATE_7(boost::tuple) 00223 QX_REGISTER_CLASS_NAME_TEMPLATE_8(boost::tuple) 00224 QX_REGISTER_CLASS_NAME_TEMPLATE_9(boost::tuple) 00225 00226 #ifdef _QX_CPP_11_TUPLE 00227 #ifndef BOOST_NO_CXX11_HDR_TUPLE 00228 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::tuple) 00229 QX_REGISTER_CLASS_NAME_TEMPLATE_2(std::tuple) 00230 QX_REGISTER_CLASS_NAME_TEMPLATE_3(std::tuple) 00231 QX_REGISTER_CLASS_NAME_TEMPLATE_4(std::tuple) 00232 QX_REGISTER_CLASS_NAME_TEMPLATE_5(std::tuple) 00233 QX_REGISTER_CLASS_NAME_TEMPLATE_6(std::tuple) 00234 QX_REGISTER_CLASS_NAME_TEMPLATE_7(std::tuple) 00235 QX_REGISTER_CLASS_NAME_TEMPLATE_8(std::tuple) 00236 QX_REGISTER_CLASS_NAME_TEMPLATE_9(std::tuple) 00237 #endif // BOOST_NO_CXX11_HDR_TUPLE 00238 #endif // _QX_CPP_11_TUPLE 00239 00240 #if (QT_VERSION >= 0x040600) 00241 QX_REGISTER_CLASS_NAME_TEMPLATE_1(QScopedPointer) 00242 #endif // (QT_VERSION >= 0x040600) 00243 00244 #endif // _QX_GET_CLASS_NAME_PRIMITIVE_H_