QxOrm
1.4.9
C++ Object Relational Mapping library
Loading...
Searching...
No Matches
IxBoostSerializeRegisterHelper.h
Go to the documentation of this file.
1
/****************************************************************************
2
**
3
** https://www.qxorm.com/
4
** Copyright (C) 2013 Lionel Marty (contact@qxorm.com)
5
**
6
** This file is part of the QxOrm library
7
**
8
** This software is provided 'as-is', without any express or implied
9
** warranty. In no event will the authors be held liable for any
10
** damages arising from the use of this software
11
**
12
** Commercial Usage
13
** Licensees holding valid commercial QxOrm licenses may use this file in
14
** accordance with the commercial license agreement provided with the
15
** Software or, alternatively, in accordance with the terms contained in
16
** a written agreement between you and Lionel Marty
17
**
18
** GNU General Public License Usage
19
** Alternatively, this file may be used under the terms of the GNU
20
** General Public License version 3.0 as published by the Free Software
21
** Foundation and appearing in the file 'license.gpl3.txt' included in the
22
** packaging of this file. Please review the following information to
23
** ensure the GNU General Public License version 3.0 requirements will be
24
** met : http://www.gnu.org/copyleft/gpl.html
25
**
26
** If you are unsure which license is appropriate for your use, or
27
** if you have questions regarding the use of this file, please contact :
28
** contact@qxorm.com
29
**
30
****************************************************************************/
31
32
#ifdef _QX_ENABLE_BOOST_SERIALIZATION
33
#ifndef _IX_BOOST_SERIALIZE_REGISTER_HELPER_H_
34
#define _IX_BOOST_SERIALIZE_REGISTER_HELPER_H_
35
36
#ifdef _MSC_VER
37
#pragma once
38
#endif
39
40
#include <
QxCommon/QxConfig.h
>
41
42
#include <
QxSerialize/boost/QxSerializeInclude.h
>
43
44
#define QX_IX_BOOST_SERIALIZE_REGISTER_HELPER_PURE_VIRTUAL_ARCHIVE(ArchiveIn, ArchiveOut) \
45
virtual void helper(ArchiveIn & ar) const = 0; \
46
virtual void helper(ArchiveOut & ar) const = 0;
47
48
namespace
qx
{
49
50
class
QX_DLL_EXPORT
IxBoostSerializeRegisterHelper
51
{
52
53
private
:
54
55
QString
m_sKey
;
// Register key used by 'QxBoostSerializeRegisterHelperX'
56
57
protected
:
58
59
IxBoostSerializeRegisterHelper
(
const
QString & sKey);
60
virtual
~IxBoostSerializeRegisterHelper
() = 0;
61
62
public
:
63
64
virtual
void
helper
()
const
= 0;
65
66
#if _QX_SERIALIZE_POLYMORPHIC
67
QX_IX_BOOST_SERIALIZE_REGISTER_HELPER_PURE_VIRTUAL_ARCHIVE
(boost::archive::polymorphic_iarchive, boost::archive::polymorphic_oarchive)
68
#endif
// _QX_SERIALIZE_POLYMORPHIC
69
70
#if _QX_SERIALIZE_BINARY
71
QX_IX_BOOST_SERIALIZE_REGISTER_HELPER_PURE_VIRTUAL_ARCHIVE
(boost::archive::binary_iarchive, boost::archive::binary_oarchive)
72
#endif
// _QX_SERIALIZE_BINARY
73
74
#if _QX_SERIALIZE_TEXT
75
QX_IX_BOOST_SERIALIZE_REGISTER_HELPER_PURE_VIRTUAL_ARCHIVE
(boost::archive::text_iarchive, boost::archive::text_oarchive)
76
#endif
// _QX_SERIALIZE_TEXT
77
78
#if _QX_SERIALIZE_XML
79
QX_IX_BOOST_SERIALIZE_REGISTER_HELPER_PURE_VIRTUAL_ARCHIVE
(boost::archive::xml_iarchive, boost::archive::xml_oarchive)
80
#endif
// _QX_SERIALIZE_XML
81
82
#if _QX_SERIALIZE_PORTABLE_BINARY
83
QX_IX_BOOST_SERIALIZE_REGISTER_HELPER_PURE_VIRTUAL_ARCHIVE
(
eos::portable_iarchive
,
eos::portable_oarchive
)
84
#endif
// _QX_SERIALIZE_PORTABLE_BINARY
85
86
#if _QX_SERIALIZE_WIDE_BINARY
87
QX_IX_BOOST_SERIALIZE_REGISTER_HELPER_PURE_VIRTUAL_ARCHIVE
(boost::archive::binary_wiarchive, boost::archive::binary_woarchive)
88
#endif
// _QX_SERIALIZE_WIDE_BINARY
89
90
#if _QX_SERIALIZE_WIDE_TEXT
91
QX_IX_BOOST_SERIALIZE_REGISTER_HELPER_PURE_VIRTUAL_ARCHIVE
(boost::archive::text_wiarchive, boost::archive::text_woarchive)
92
#endif
// _QX_SERIALIZE_WIDE_TEXT
93
94
#if _QX_SERIALIZE_WIDE_XML
95
QX_IX_BOOST_SERIALIZE_REGISTER_HELPER_PURE_VIRTUAL_ARCHIVE
(boost::archive::xml_wiarchive, boost::archive::xml_woarchive)
96
#endif
// _QX_SERIALIZE_WIDE_XML
97
98
private
:
99
100
IxBoostSerializeRegisterHelper
(
const
IxBoostSerializeRegisterHelper
& other) { Q_UNUSED(other); }
101
IxBoostSerializeRegisterHelper
&
operator=
(
const
IxBoostSerializeRegisterHelper
& other) { Q_UNUSED(other);
return
(*
this
); }
102
103
};
104
105
}
// namespace qx
106
107
#endif
// _IX_BOOST_SERIALIZE_REGISTER_HELPER_H_
108
#endif
// _QX_ENABLE_BOOST_SERIALIZATION
QX_IX_BOOST_SERIALIZE_REGISTER_HELPER_PURE_VIRTUAL_ARCHIVE
#define QX_IX_BOOST_SERIALIZE_REGISTER_HELPER_PURE_VIRTUAL_ARCHIVE(ArchiveIn, ArchiveOut)
Definition
IxBoostSerializeRegisterHelper.h:44
QxConfig.h
List of parameters to compile and build QxOrm library.
QX_DLL_EXPORT
#define QX_DLL_EXPORT
Definition
QxMacro.h:182
QxSerializeInclude.h
eos::portable_iarchive
Portable binary input archive using little endian format.
Definition
portable_iarchive.hpp:197
eos::portable_oarchive
Portable binary output archive using little endian format.
Definition
portable_oarchive.hpp:198
qx::IxBoostSerializeRegisterHelper
Definition
IxBoostSerializeRegisterHelper.h:51
qx::IxBoostSerializeRegisterHelper::IxBoostSerializeRegisterHelper
IxBoostSerializeRegisterHelper(const IxBoostSerializeRegisterHelper &other)
Definition
IxBoostSerializeRegisterHelper.h:100
qx::IxBoostSerializeRegisterHelper::~IxBoostSerializeRegisterHelper
virtual ~IxBoostSerializeRegisterHelper()=0
qx::IxBoostSerializeRegisterHelper::operator=
IxBoostSerializeRegisterHelper & operator=(const IxBoostSerializeRegisterHelper &other)
Definition
IxBoostSerializeRegisterHelper.h:101
qx::IxBoostSerializeRegisterHelper::helper
virtual void helper() const =0
qx::IxBoostSerializeRegisterHelper::IxBoostSerializeRegisterHelper
IxBoostSerializeRegisterHelper(const QString &sKey)
qx::IxBoostSerializeRegisterHelper::m_sKey
QString m_sKey
Definition
IxBoostSerializeRegisterHelper.h:55
qx
Root namespace for all QxOrm library features.
Definition
IxCollection.h:50
include
QxSerialize
QxBoostSerializeHelper
IxBoostSerializeRegisterHelper.h
Generated on Wed Jul 24 2024 21:08:17 for QxOrm by
1.11.0