QxOrm  1.3.2
C++ Object Relational Mapping library
get_class_name_primitive.h
Go to the documentation of this file.
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 #if _QX_ENABLE_QT_GUI_DEPENDENCY
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_DEPENDENCY
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 #if _QX_ENABLE_QT_GUI_DEPENDENCY
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_DEPENDENCY
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 
00182 QX_REGISTER_CLASS_NAME_TEMPLATE_1(qx::dao::ptr)
00183 
00184 #ifdef _QX_CPP_11_SMART_PTR
00185 #ifndef BOOST_NO_CXX11_SMART_PTR
00186 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::unique_ptr)
00187 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::shared_ptr)
00188 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::weak_ptr)
00189 #endif // BOOST_NO_CXX11_SMART_PTR
00190 #endif // _QX_CPP_11_SMART_PTR
00191 
00192 QX_REGISTER_CLASS_NAME_TEMPLATE_2(std::pair)
00193 QX_REGISTER_CLASS_NAME_TEMPLATE_2(std::map)
00194 
00195 QX_REGISTER_CLASS_NAME_TEMPLATE_2(boost::unordered_map)
00196 QX_REGISTER_CLASS_NAME_TEMPLATE_2(boost::unordered_multimap)
00197 QX_REGISTER_CLASS_NAME_TEMPLATE_2(boost::unordered_set)
00198 QX_REGISTER_CLASS_NAME_TEMPLATE_2(boost::unordered_multiset)
00199 
00200 #ifdef _QX_CPP_11_CONTAINER
00201 #ifndef BOOST_NO_CXX11_STD_UNORDERED
00202 QX_REGISTER_CLASS_NAME_TEMPLATE_2(std::unordered_map)
00203 QX_REGISTER_CLASS_NAME_TEMPLATE_2(std::unordered_multimap)
00204 QX_REGISTER_CLASS_NAME_TEMPLATE_2(std::unordered_set)
00205 QX_REGISTER_CLASS_NAME_TEMPLATE_2(std::unordered_multiset)
00206 #endif // BOOST_NO_CXX11_STD_UNORDERED
00207 #endif // _QX_CPP_11_CONTAINER
00208 
00209 QX_REGISTER_CLASS_NAME_TEMPLATE_2(QPair)
00210 QX_REGISTER_CLASS_NAME_TEMPLATE_2(QHash)
00211 QX_REGISTER_CLASS_NAME_TEMPLATE_2(QMultiHash)
00212 QX_REGISTER_CLASS_NAME_TEMPLATE_2(QMap)
00213 QX_REGISTER_CLASS_NAME_TEMPLATE_2(QMultiMap)
00214 
00215 QX_REGISTER_CLASS_NAME_TEMPLATE_1(boost::tuple)
00216 QX_REGISTER_CLASS_NAME_TEMPLATE_2(boost::tuple)
00217 QX_REGISTER_CLASS_NAME_TEMPLATE_3(boost::tuple)
00218 QX_REGISTER_CLASS_NAME_TEMPLATE_4(boost::tuple)
00219 QX_REGISTER_CLASS_NAME_TEMPLATE_5(boost::tuple)
00220 QX_REGISTER_CLASS_NAME_TEMPLATE_6(boost::tuple)
00221 QX_REGISTER_CLASS_NAME_TEMPLATE_7(boost::tuple)
00222 QX_REGISTER_CLASS_NAME_TEMPLATE_8(boost::tuple)
00223 QX_REGISTER_CLASS_NAME_TEMPLATE_9(boost::tuple)
00224 
00225 #ifdef _QX_CPP_11_TUPLE
00226 #ifndef BOOST_NO_CXX11_HDR_TUPLE
00227 QX_REGISTER_CLASS_NAME_TEMPLATE_1(std::tuple)
00228 QX_REGISTER_CLASS_NAME_TEMPLATE_2(std::tuple)
00229 QX_REGISTER_CLASS_NAME_TEMPLATE_3(std::tuple)
00230 QX_REGISTER_CLASS_NAME_TEMPLATE_4(std::tuple)
00231 QX_REGISTER_CLASS_NAME_TEMPLATE_5(std::tuple)
00232 QX_REGISTER_CLASS_NAME_TEMPLATE_6(std::tuple)
00233 QX_REGISTER_CLASS_NAME_TEMPLATE_7(std::tuple)
00234 QX_REGISTER_CLASS_NAME_TEMPLATE_8(std::tuple)
00235 QX_REGISTER_CLASS_NAME_TEMPLATE_9(std::tuple)
00236 #endif // BOOST_NO_CXX11_HDR_TUPLE
00237 #endif // _QX_CPP_11_TUPLE
00238 
00239 #if (QT_VERSION >= 0x040600)
00240 QX_REGISTER_CLASS_NAME_TEMPLATE_1(QScopedPointer)
00241 #endif // (QT_VERSION >= 0x040600)
00242 
00243 #endif // _QX_GET_CLASS_NAME_PRIMITIVE_H_