first commit

This commit is contained in:
bing
2026-04-03 11:32:07 +08:00
commit 003be19522
1142 changed files with 185854 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifdef _QX_ENABLE_QT_GUI
#ifndef _QX_SERIALIZE_QBRUSH_H_
#define _QX_SERIALIZE_QBRUSH_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtGui/qbrush.h>
#include <QxSerialize/Qt/QxSerialize_QColor.h>
#include <QxSerialize/Qt/QxSerialize_QPixmap.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QBrush, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QBrush)
#endif // _QX_SERIALIZE_QBRUSH_H_
#endif // _QX_ENABLE_QT_GUI
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,56 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QBYTEARRAY_H_
#define _QX_SERIALIZE_QBYTEARRAY_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/serialization/string.hpp>
#include <QtCore/qbytearray.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QByteArray, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QByteArray)
#endif // _QX_SERIALIZE_QBYTEARRAY_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,57 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifdef _QX_ENABLE_QT_GUI
#ifndef _QX_SERIALIZE_QCOLOR_H_
#define _QX_SERIALIZE_QCOLOR_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtGui/qcolor.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QColor, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QColor)
#endif // _QX_SERIALIZE_QCOLOR_H_
#endif // _QX_ENABLE_QT_GUI
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,58 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QDATE_H_
#define _QX_SERIALIZE_QDATE_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qdatetime.h>
#include <QxSerialize/Qt/QxSerialize_QString.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
#define QX_SERIALIZE_QDATE_FORMAT "yyyyMMdd"
QX_CLASS_VERSION(QDate, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QDate)
#endif // _QX_SERIALIZE_QDATE_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,58 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QDATETIME_H_
#define _QX_SERIALIZE_QDATETIME_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qdatetime.h>
#include <QxSerialize/Qt/QxSerialize_QString.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
#define QX_SERIALIZE_QDATETIME_FORMAT "yyyyMMddhhmmsszzz"
QX_CLASS_VERSION(QDateTime, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QDateTime)
#endif // _QX_SERIALIZE_QDATETIME_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,78 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QFLAGS_H_
#define _QX_SERIALIZE_QFLAGS_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qglobal.h>
namespace boost
{
namespace serialization
{
template <class Archive, typename T>
inline void save(Archive &ar, const QFlags<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
int iValue = static_cast<int>(t);
ar << boost::serialization::make_nvp("value", iValue);
}
template <class Archive, typename T>
inline void load(Archive &ar, QFlags<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
int iValue = 0;
ar >> boost::serialization::make_nvp("value", iValue);
t = QFlags<T>(QFlag(iValue));
}
template <class Archive, typename T>
inline void serialize(Archive &ar, QFlags<T> &t, const unsigned int file_version)
{
boost::serialization::split_free(ar, t, file_version);
}
} // namespace boost
} // namespace serialization
#endif // _QX_SERIALIZE_QFLAGS_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,58 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifdef _QX_ENABLE_QT_GUI
#ifndef _QX_SERIALIZE_QFONT_H_
#define _QX_SERIALIZE_QFONT_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtGui/qfont.h>
#include <QxSerialize/Qt/QxSerialize_QString.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QFont, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QFont)
#endif // _QX_SERIALIZE_QFONT_H_
#endif // _QX_ENABLE_QT_GUI
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,96 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QHASH_H_
#define _QX_SERIALIZE_QHASH_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/serialization/utility.hpp>
#include <QtCore/qhash.h>
namespace boost
{
namespace serialization
{
template <class Archive, typename Key, typename Value>
inline void save(Archive &ar, const QHash<Key, Value> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = t.count();
ar << boost::serialization::make_nvp("count", lCount);
QHashIterator<Key, Value> itr(t);
while (itr.hasNext())
{
itr.next();
std::pair<Key, Value> pair_key_value = std::make_pair(itr.key(), itr.value());
ar << boost::serialization::make_nvp("item", pair_key_value);
}
}
template <class Archive, typename Key, typename Value>
inline void load(Archive &ar, QHash<Key, Value> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = 0;
ar >> boost::serialization::make_nvp("count", lCount);
t.clear();
t.reserve(lCount);
std::pair<Key, Value> pair_key_value;
for (long l = 0; l < lCount; l++)
{
ar >> boost::serialization::make_nvp("item", pair_key_value);
t.insert(pair_key_value.first, pair_key_value.second);
}
}
template <class Archive, typename Key, typename Value>
inline void serialize(Archive &ar, QHash<Key, Value> &t, const unsigned int file_version)
{
boost::serialization::split_free(ar, t, file_version);
}
} // namespace boost
} // namespace serialization
#endif // _QX_SERIALIZE_QHASH_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,62 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifdef _QX_ENABLE_QT_GUI
#ifndef _QX_SERIALIZE_QIMAGE_H_
#define _QX_SERIALIZE_QIMAGE_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtGui/qimage.h>
#include <QtCore/qbytearray.h>
#include <QtCore/qbuffer.h>
#include <QxSerialize/Qt/QxSerialize_QByteArray.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QImage, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QImage)
QX_BOOST_EXPORT_SERIALIZATION_FAST_COMPIL_HPP(QImage)
#endif // _QX_SERIALIZE_QIMAGE_H_
#endif // _QX_ENABLE_QT_GUI
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,92 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 0))
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QLINKEDLIST_H_
#define _QX_SERIALIZE_QLINKEDLIST_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qlinkedlist.h>
namespace boost
{
namespace serialization
{
template <class Archive, typename T>
inline void save(Archive &ar, const QLinkedList<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = t.count();
ar << boost::serialization::make_nvp("count", lCount);
QLinkedListIterator<T> itr(t);
while (itr.hasNext())
ar << boost::serialization::make_nvp("item", itr.next());
}
template <class Archive, typename T>
inline void load(Archive &ar, QLinkedList<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = 0;
ar >> boost::serialization::make_nvp("count", lCount);
t.clear();
T item;
for (long l = 0; l < lCount; l++)
{
ar >> boost::serialization::make_nvp("item", item);
t.append(item);
}
}
template <class Archive, typename T>
inline void serialize(Archive &ar, QLinkedList<T> &t, const unsigned int file_version)
{
boost::serialization::split_free(ar, t, file_version);
}
} // namespace boost
} // namespace serialization
#endif // _QX_SERIALIZE_QLINKEDLIST_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION
#endif // (QT_VERSION < QT_VERSION_CHECK(5, 15, 0))

View File

@@ -0,0 +1,89 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QLIST_H_
#define _QX_SERIALIZE_QLIST_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qlist.h>
namespace boost
{
namespace serialization
{
template <class Archive, typename T>
inline void save(Archive &ar, const QList<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = t.count();
ar << boost::serialization::make_nvp("count", lCount);
for (long l = 0; l < lCount; l++)
ar << boost::serialization::make_nvp("item", t.at(l));
}
template <class Archive, typename T>
inline void load(Archive &ar, QList<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = 0;
ar >> boost::serialization::make_nvp("count", lCount);
t.clear();
T item;
for (long l = 0; l < lCount; l++)
{
ar >> boost::serialization::make_nvp("item", item);
t.append(item);
}
}
template <class Archive, typename T>
inline void serialize(Archive &ar, QList<T> &t, const unsigned int file_version)
{
boost::serialization::split_free(ar, t, file_version);
}
} // namespace boost
} // namespace serialization
#endif // _QX_SERIALIZE_QLIST_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,95 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QMAP_H_
#define _QX_SERIALIZE_QMAP_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/serialization/utility.hpp>
#include <QtCore/qmap.h>
namespace boost
{
namespace serialization
{
template <class Archive, typename Key, typename Value>
inline void save(Archive &ar, const QMap<Key, Value> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = t.count();
ar << boost::serialization::make_nvp("count", lCount);
QMapIterator<Key, Value> itr(t);
while (itr.hasNext())
{
itr.next();
std::pair<Key, Value> pair_key_value = std::make_pair(itr.key(), itr.value());
ar << boost::serialization::make_nvp("item", pair_key_value);
}
}
template <class Archive, typename Key, typename Value>
inline void load(Archive &ar, QMap<Key, Value> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = 0;
ar >> boost::serialization::make_nvp("count", lCount);
t.clear();
std::pair<Key, Value> pair_key_value;
for (long l = 0; l < lCount; l++)
{
ar >> boost::serialization::make_nvp("item", pair_key_value);
t.insert(pair_key_value.first, pair_key_value.second);
}
}
template <class Archive, typename Key, typename Value>
inline void serialize(Archive &ar, QMap<Key, Value> &t, const unsigned int file_version)
{
boost::serialization::split_free(ar, t, file_version);
}
} // namespace boost
} // namespace serialization
#endif // _QX_SERIALIZE_QMAP_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,59 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifdef _QX_ENABLE_QT_GUI
#ifndef _QX_SERIALIZE_QMATRIX_H_
#define _QX_SERIALIZE_QMATRIX_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtGui/qmatrix.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QMatrix, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QMatrix)
#endif // _QX_SERIALIZE_QMATRIX_H_
#endif // _QX_ENABLE_QT_GUI
#endif // _QX_ENABLE_BOOST_SERIALIZATION
#endif // (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))

View File

@@ -0,0 +1,96 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QMULTIHASH_H_
#define _QX_SERIALIZE_QMULTIHASH_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/serialization/utility.hpp>
#include <QtCore/qhash.h>
namespace boost
{
namespace serialization
{
template <class Archive, typename Key, typename Value>
inline void save(Archive &ar, const QMultiHash<Key, Value> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = t.count();
ar << boost::serialization::make_nvp("count", lCount);
QHashIterator<Key, Value> itr(t);
while (itr.hasNext())
{
itr.next();
std::pair<Key, Value> pair_key_value = std::make_pair(itr.key(), itr.value());
ar << boost::serialization::make_nvp("item", pair_key_value);
}
}
template <class Archive, typename Key, typename Value>
inline void load(Archive &ar, QMultiHash<Key, Value> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = 0;
ar >> boost::serialization::make_nvp("count", lCount);
t.clear();
t.reserve(lCount);
std::pair<Key, Value> pair_key_value;
for (long l = 0; l < lCount; l++)
{
ar >> boost::serialization::make_nvp("item", pair_key_value);
t.insert(pair_key_value.first, pair_key_value.second);
}
}
template <class Archive, typename Key, typename Value>
inline void serialize(Archive &ar, QMultiHash<Key, Value> &t, const unsigned int file_version)
{
boost::serialization::split_free(ar, t, file_version);
}
} // namespace boost
} // namespace serialization
#endif // _QX_SERIALIZE_QMULTIHASH_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,95 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QMULTIMAP_H_
#define _QX_SERIALIZE_QMULTIMAP_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/serialization/utility.hpp>
#include <QtCore/qmap.h>
namespace boost
{
namespace serialization
{
template <class Archive, typename Key, typename Value>
inline void save(Archive &ar, const QMultiMap<Key, Value> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = t.count();
ar << boost::serialization::make_nvp("count", lCount);
QMapIterator<Key, Value> itr(t);
while (itr.hasNext())
{
itr.next();
std::pair<Key, Value> pair_key_value = std::make_pair(itr.key(), itr.value());
ar << boost::serialization::make_nvp("item", pair_key_value);
}
}
template <class Archive, typename Key, typename Value>
inline void load(Archive &ar, QMultiMap<Key, Value> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = 0;
ar >> boost::serialization::make_nvp("count", lCount);
t.clear();
std::pair<Key, Value> pair_key_value;
for (long l = 0; l < lCount; l++)
{
ar >> boost::serialization::make_nvp("item", pair_key_value);
t.insert(pair_key_value.first, pair_key_value.second);
}
}
template <class Archive, typename Key, typename Value>
inline void serialize(Archive &ar, QMultiMap<Key, Value> &t, const unsigned int file_version)
{
boost::serialization::split_free(ar, t, file_version);
}
} // namespace boost
} // namespace serialization
#endif // _QX_SERIALIZE_QMULTIMAP_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,59 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QOBJECT_H_
#define _QX_SERIALIZE_QOBJECT_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/serialization/utility.hpp>
#include <QtCore/qobject.h>
#include <QxSerialize/Qt/QxSerialize_QVariant.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QObject, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QObject)
QX_BOOST_EXPORT_SERIALIZATION_FAST_COMPIL_HPP(QObject)
QX_REGISTER_BOOST_SERIALIZE_HELPER(QObject)
#endif // _QX_SERIALIZE_QOBJECT_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,63 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QPAIR_H_
#define _QX_SERIALIZE_QPAIR_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qpair.h>
namespace boost
{
namespace serialization
{
template <class Archive, typename T1, typename T2>
inline void serialize(Archive &ar, QPair<T1, T2> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
ar &boost::serialization::make_nvp("first", t.first);
ar &boost::serialization::make_nvp("second", t.second);
}
} // namespace boost
} // namespace serialization
#endif // _QX_SERIALIZE_QPAIR_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,62 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifdef _QX_ENABLE_QT_GUI
#ifndef _QX_SERIALIZE_QPICTURE_H_
#define _QX_SERIALIZE_QPICTURE_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtGui/qpicture.h>
#include <QtCore/qbytearray.h>
#include <QtCore/qbuffer.h>
#include <QxSerialize/Qt/QxSerialize_QByteArray.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QPicture, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QPicture)
QX_BOOST_EXPORT_SERIALIZATION_FAST_COMPIL_HPP(QPicture)
#endif // _QX_SERIALIZE_QPICTURE_H_
#endif // _QX_ENABLE_QT_GUI
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,62 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifdef _QX_ENABLE_QT_GUI
#ifndef _QX_SERIALIZE_QPIXMAP_H_
#define _QX_SERIALIZE_QPIXMAP_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtGui/qpixmap.h>
#include <QtCore/qbytearray.h>
#include <QtCore/qbuffer.h>
#include <QxSerialize/Qt/QxSerialize_QByteArray.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QPixmap, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QPixmap)
QX_BOOST_EXPORT_SERIALIZATION_FAST_COMPIL_HPP(QPixmap)
#endif // _QX_SERIALIZE_QPIXMAP_H_
#endif // _QX_ENABLE_QT_GUI
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,55 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QPOINT_H_
#define _QX_SERIALIZE_QPOINT_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qpoint.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QPoint, 0)
QX_SERIALIZE_FAST_COMPIL_SERIALIZE_HPP(QX_DLL_EXPORT, QPoint)
#endif // _QX_SERIALIZE_QPOINT_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,55 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QRECT_H_
#define _QX_SERIALIZE_QRECT_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qrect.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QRect, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QRect)
#endif // _QX_SERIALIZE_QRECT_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,58 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QREGEXP_H_
#define _QX_SERIALIZE_QREGEXP_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qregexp.h>
#include <QxSerialize/Qt/QxSerialize_QString.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QRegExp, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QRegExp)
#endif // _QX_SERIALIZE_QREGEXP_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION
#endif // (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))

View File

@@ -0,0 +1,59 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifdef _QX_ENABLE_QT_GUI
#ifndef _QX_SERIALIZE_QREGION_H_
#define _QX_SERIALIZE_QREGION_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtGui/qregion.h>
#include <QxSerialize/Qt/QxSerialize_QVector.h>
#include <QxSerialize/Qt/QxSerialize_QRect.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QRegion, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QRegion)
#endif // _QX_SERIALIZE_QREGION_H_
#endif // _QX_ENABLE_QT_GUI
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,80 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#if (QT_VERSION >= QT_VERSION_CHECK(4, 6, 0))
#ifndef _QX_SERIALIZE_QSCOPEDPOINTER_H_
#define _QX_SERIALIZE_QSCOPEDPOINTER_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qscopedpointer.h>
namespace boost
{
namespace serialization
{
template <class Archive, typename T>
inline void save(Archive &ar, const QScopedPointer<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
const T *ptr = t.data();
ar << boost::serialization::make_nvp("qt_scoped_ptr", ptr);
}
template <class Archive, typename T>
inline void load(Archive &ar, QScopedPointer<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
T *ptr = NULL;
ar >> boost::serialization::make_nvp("qt_scoped_ptr", ptr);
t.reset(ptr);
}
template <class Archive, typename T>
inline void serialize(Archive &ar, QScopedPointer<T> &t, const unsigned int file_version)
{
boost::serialization::split_free(ar, t, file_version);
}
} // namespace boost
} // namespace serialization
#endif // _QX_SERIALIZE_QSCOPEDPOINTER_H_
#endif // (QT_VERSION >= QT_VERSION_CHECK(4, 6, 0))
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,113 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QSHAREDPOINTER_H_
#define _QX_SERIALIZE_QSHAREDPOINTER_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qsharedpointer.h>
#include <QtCore/QWeakPointer>
#include <QtCore/qhash.h>
namespace boost
{
namespace serialization
{
template <class Archive, typename T>
inline void save(Archive &ar, const QSharedPointer<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
const T *ptr = t.data();
ar << boost::serialization::make_nvp("qt_shared_ptr", ptr);
}
template <class Archive, typename T>
inline void load(Archive &ar, QSharedPointer<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
static QHash<void *, QWeakPointer<T>> listOfWeakPointers;
T *ptr = NULL;
ar >> boost::serialization::make_nvp("qt_shared_ptr", ptr);
if (!ptr)
{
t = QSharedPointer<T>();
return;
}
void *pVoid = static_cast<void *>(ptr);
QSharedPointer<T> pShared = (listOfWeakPointers.contains(pVoid) ? listOfWeakPointers.value(pVoid).toStrongRef() : QSharedPointer<T>());
if (pShared)
{
t = pShared;
return;
}
t = QSharedPointer<T>(ptr);
QWeakPointer<T> pWeak = t;
listOfWeakPointers.insert(pVoid, pWeak);
static int iLoadCount = 0;
iLoadCount++;
if (iLoadCount <= 1000)
{
return;
}
QMutableHashIterator<void *, QWeakPointer<T>> itr(listOfWeakPointers);
while (itr.hasNext())
{
itr.next();
if (itr.value().isNull())
{
itr.remove();
}
}
iLoadCount = 0;
}
template <class Archive, typename T>
inline void serialize(Archive &ar, QSharedPointer<T> &t, const unsigned int file_version)
{
boost::serialization::split_free(ar, t, file_version);
}
} // namespace boost
} // namespace serialization
#endif // _QX_SERIALIZE_QSHAREDPOINTER_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,55 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QSIZE_H_
#define _QX_SERIALIZE_QSIZE_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qsize.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QSize, 0)
QX_SERIALIZE_FAST_COMPIL_SERIALIZE_HPP(QX_DLL_EXPORT, QSize)
#endif // _QX_SERIALIZE_QSIZE_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,56 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QSQLERROR_H_
#define _QX_SERIALIZE_QSQLERROR_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtSql/qsqlerror.h>
#include <QxSerialize/Qt/QxSerialize_QString.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QSqlError, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QSqlError)
#endif // _QX_SERIALIZE_QSQLERROR_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,58 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QSTRING_H_
#define _QX_SERIALIZE_QSTRING_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/serialization/level.hpp>
#include <boost/serialization/string.hpp>
#include <QtCore/qstring.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QString, 0)
BOOST_CLASS_TRACKING(QString, boost::serialization::track_never)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QString)
#endif // _QX_SERIALIZE_QSTRING_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,59 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QSTRINGLIST_H_
#define _QX_SERIALIZE_QSTRINGLIST_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/serialization/level.hpp>
#include <boost/serialization/string.hpp>
#include <boost/serialization/utility.hpp>
#include <QtCore/qstringlist.h>
#include <QxSerialize/Qt/QxSerialize_QString.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QStringList, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QStringList)
#endif // _QX_SERIALIZE_QSTRINGLIST_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,58 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QTIME_H_
#define _QX_SERIALIZE_QTIME_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qdatetime.h>
#include <QxSerialize/Qt/QxSerialize_QString.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
#define QX_SERIALIZE_QTIME_FORMAT "hhmmsszzz"
QX_CLASS_VERSION(QTime, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QTime)
#endif // _QX_SERIALIZE_QTIME_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,56 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QURL_H_
#define _QX_SERIALIZE_QURL_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qurl.h>
#include <QxSerialize/Qt/QxSerialize_QString.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QUrl, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QUrl)
#endif // _QX_SERIALIZE_QURL_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,55 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QUUID_H_
#define _QX_SERIALIZE_QUUID_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/quuid.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QUuid, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QUuid)
#endif // _QX_SERIALIZE_QUUID_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,72 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QVARIANT_H_
#define _QX_SERIALIZE_QVARIANT_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qvariant.h>
#include <QxSerialize/Qt/QxSerialize_QString.h>
#include <QxSerialize/Qt/QxSerialize_QDate.h>
#include <QxSerialize/Qt/QxSerialize_QDateTime.h>
#include <QxSerialize/Qt/QxSerialize_QTime.h>
#include <QxSerialize/Qt/QxSerialize_QByteArray.h>
#include <QxSerialize/Qt/QxSerialize_QBrush.h>
#include <QxSerialize/Qt/QxSerialize_QColor.h>
#include <QxSerialize/Qt/QxSerialize_QFont.h>
#include <QxSerialize/Qt/QxSerialize_QImage.h>
#include <QxSerialize/Qt/QxSerialize_QPixmap.h>
#include <QxSerialize/Qt/QxSerialize_QPoint.h>
#include <QxSerialize/Qt/QxSerialize_QRect.h>
#include <QxSerialize/Qt/QxSerialize_QRegExp.h>
#include <QxSerialize/Qt/QxSerialize_QRegion.h>
#include <QxSerialize/Qt/QxSerialize_QSize.h>
#include <QxSerialize/Qt/QxSerialize_QUrl.h>
#include <QxSerialize/QxSerializeFastCompil.h>
#include <QxRegister/QxVersion.h>
QX_CLASS_VERSION(QVariant, 0)
QX_SERIALIZE_FAST_COMPIL_SAVE_LOAD_HPP(QX_DLL_EXPORT, QVariant)
#endif // _QX_SERIALIZE_QVARIANT_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION

View File

@@ -0,0 +1,92 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QVECTOR_H_
#define _QX_SERIALIZE_QVECTOR_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/qvector.h>
namespace boost
{
namespace serialization
{
template <class Archive, typename T>
inline void save(Archive &ar, const QVector<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = t.count();
ar << boost::serialization::make_nvp("count", lCount);
for (long l = 0; l < lCount; l++)
ar << boost::serialization::make_nvp("item", t.at(l));
}
template <class Archive, typename T>
inline void load(Archive &ar, QVector<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
long lCount = 0;
ar >> boost::serialization::make_nvp("count", lCount);
t.clear();
t.reserve(lCount);
T item;
for (long l = 0; l < lCount; l++)
{
ar >> boost::serialization::make_nvp("item", item);
t.append(item);
}
}
template <class Archive, typename T>
inline void serialize(Archive &ar, QVector<T> &t, const unsigned int file_version)
{
boost::serialization::split_free(ar, t, file_version);
}
} // namespace boost
} // namespace serialization
#endif // _QX_SERIALIZE_QVECTOR_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION
#endif // (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))

View File

@@ -0,0 +1,80 @@
/****************************************************************************
**
** https://www.qxorm.com/
** Copyright (C) 2013 XDL Team (ic-east.com)
**
** This file is part of the QxOrm library
**
** This software is provided 'as-is', without any express or implied
** warranty. In no event will the authors be held liable for any
** damages arising from the use of this software
**
** Commercial Usage
** Licensees holding valid commercial QxOrm licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and XDL Team
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file 'license.gpl3.txt' included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met : http://www.gnu.org/copyleft/gpl.html
**
** If you are unsure which license is appropriate for your use, or
** if you have questions regarding the use of this file, please contact :
** ic-east.com
**
****************************************************************************/
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
#ifndef _QX_SERIALIZE_QWEAKPOINTER_H_
#define _QX_SERIALIZE_QWEAKPOINTER_H_
#ifdef _MSC_VER
#pragma once
#endif
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/nvp.hpp>
#include <QtCore/QWeakPointer>
#include <QxSerialize/Qt/QxSerialize_QSharedPointer.h>
namespace boost
{
namespace serialization
{
template <class Archive, typename T>
inline void save(Archive &ar, const QWeakPointer<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
QSharedPointer<T> ptr = t.toStrongRef();
ar << boost::serialization::make_nvp("qt_weak_ptr", ptr);
}
template <class Archive, typename T>
inline void load(Archive &ar, QWeakPointer<T> &t, const unsigned int file_version)
{
Q_UNUSED(file_version);
QSharedPointer<T> ptr;
ar >> boost::serialization::make_nvp("qt_weak_ptr", ptr);
t = QWeakPointer<T>(ptr);
}
template <class Archive, typename T>
inline void serialize(Archive &ar, QWeakPointer<T> &t, const unsigned int file_version)
{
boost::serialization::split_free(ar, t, file_version);
}
} // namespace boost
} // namespace serialization
#endif // _QX_SERIALIZE_QWEAKPOINTER_H_
#endif // _QX_ENABLE_BOOST_SERIALIZATION