QxOrm
1.4.9
C++ Object Relational Mapping library
Loading...
Searching...
No Matches
QxExportDllMacroCpp.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 _QX_EXPORT_DLL_MACRO_CPP_H_
34
#define _QX_EXPORT_DLL_MACRO_CPP_H_
35
36
#ifdef _MSC_VER
37
#pragma once
38
#endif
39
40
#include <
QxCommon/QxConfig.h
>
41
42
#include <
QxSerialize/boost/QxExportDllMacroHpp.h
>
43
44
#if _QX_USE_EXPORT_DLL_BOOST_SERIALIZATION_SINGLETON
45
46
#if (BOOST_VERSION < 106600)
47
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_ISERIALIZER_CPP(ArchiveIn, ArchiveOut, T) \
48
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(class, boost::archive::detail::pointer_iserializer, ArchiveIn, T) \
49
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::pointer_iserializer, ArchiveIn, T)
50
51
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_OSERIALIZER_CPP(ArchiveIn, ArchiveOut, T) \
52
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(class, boost::archive::detail::pointer_oserializer, ArchiveOut, T) \
53
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::pointer_oserializer, ArchiveOut, T)
54
#else
// (BOOST_VERSION < 106600)
55
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_ISERIALIZER_CPP(ArchiveIn, ArchiveOut, T) \
56
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(class, boost::archive::detail::pointer_iserializer, ArchiveIn, T)
57
58
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_OSERIALIZER_CPP(ArchiveIn, ArchiveOut, T) \
59
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(class, boost::archive::detail::pointer_oserializer, ArchiveOut, T)
60
#endif
// (BOOST_VERSION < 106600)
61
62
#if _QX_SUPPORT_BOOST_SERIALIZE_SHARED_PTR_132
63
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_ISERIALIZER_BOOST_132_HELPER_CPP(ArchiveIn, ArchiveOut, T) \
64
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(class, boost::archive::detail::pointer_iserializer, ArchiveIn, QX_BOOST_132_SHARED_PTR_HELPER(T)) \
65
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::pointer_iserializer, ArchiveIn, QX_BOOST_132_SHARED_PTR_HELPER(T))
66
#else
// _QX_SUPPORT_BOOST_SERIALIZE_SHARED_PTR_132
67
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_ISERIALIZER_BOOST_132_HELPER_CPP(ArchiveIn, ArchiveOut, T)
/* Nothing */
68
#endif
// _QX_SUPPORT_BOOST_SERIALIZE_SHARED_PTR_132
69
70
#if _QX_SUPPORT_BOOST_SERIALIZE_SHARED_PTR_132
71
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_OSERIALIZER_BOOST_132_HELPER_CPP(ArchiveIn, ArchiveOut, T) \
72
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(class, boost::archive::detail::pointer_oserializer, ArchiveOut, QX_BOOST_132_SHARED_PTR_HELPER(T)) \
73
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::pointer_oserializer, ArchiveOut, QX_BOOST_132_SHARED_PTR_HELPER(T))
74
#else
// _QX_SUPPORT_BOOST_SERIALIZE_SHARED_PTR_132
75
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_OSERIALIZER_BOOST_132_HELPER_CPP(ArchiveIn, ArchiveOut, T)
/* Nothing */
76
#endif
// _QX_SUPPORT_BOOST_SERIALIZE_SHARED_PTR_132
77
78
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_ISERIALIZER_CPP(ArchiveIn, ArchiveOut, T) \
79
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(class, boost::archive::detail::iserializer, ArchiveIn, T) \
80
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::iserializer, ArchiveIn, T)
81
82
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_OSERIALIZER_CPP(ArchiveIn, ArchiveOut, T) \
83
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(class, boost::archive::detail::oserializer, ArchiveOut, T) \
84
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::oserializer, ArchiveOut, T)
85
86
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_EXTENDED_TYPE_ID_CPP(T) \
87
QX_DLL_EXPORT_TEMPLATE_T_P1_CPP(class, boost::serialization::extended_type_info_typeid, T) \
88
QX_DLL_EXPORT_TEMPLATE_T_U_P1_CPP(class, boost::serialization::singleton, boost::serialization::extended_type_info_typeid, T)
89
90
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_VOID_CAST_PRIMITIVE_CPP(T) \
91
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(class, boost::serialization::void_cast_detail::void_caster_primitive, T, QX_GET_BASE_CLASS_2(T)) \
92
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::serialization::void_cast_detail::void_caster_primitive, T, QX_GET_BASE_CLASS_2(T))
93
94
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_TYPE_INFO_IMPL_CPP(T) \
95
QX_DLL_EXPORT_TEMPLATE_T_P1_CPP(struct, boost::serialization::type_info_implementation, T) \
96
QX_DLL_EXPORT_TEMPLATE_T_U_P1_CPP(class, boost::serialization::singleton, boost::serialization::type_info_implementation, T)
97
98
#if (BOOST_VERSION < 104100)
99
#define QX_BOOST_EXPORT_SERIALIZATION_SAVE_POINTER_TYPE_CPP(ArchiveIn, ArchiveOut, T) \
100
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(struct, boost::archive::detail::save_pointer_type, ArchiveOut, T *) \
101
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::save_pointer_type, ArchiveOut, T *)
102
#else
// (BOOST_VERSION < 104100)
103
#define QX_BOOST_EXPORT_SERIALIZATION_SAVE_POINTER_TYPE_CPP(ArchiveIn, ArchiveOut, T)
/* Nothing */
104
#endif
// (BOOST_VERSION < 104100)
105
106
#if (BOOST_VERSION < 104100)
107
#define QX_BOOST_EXPORT_SERIALIZATION_SAVE_NON_POINTER_TYPE_CPP(ArchiveIn, ArchiveOut, T) \
108
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(struct, boost::archive::detail::save_non_pointer_type, ArchiveOut, T) \
109
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::save_non_pointer_type, ArchiveOut, T)
110
#else
// (BOOST_VERSION < 104100)
111
#define QX_BOOST_EXPORT_SERIALIZATION_SAVE_NON_POINTER_TYPE_CPP(ArchiveIn, ArchiveOut, T)
/* Nothing */
112
#endif
// (BOOST_VERSION < 104100)
113
114
#if (BOOST_VERSION < 104100)
115
#define QX_BOOST_EXPORT_SERIALIZATION_SAVE_ENUM_TYPE_CPP(ArchiveIn, ArchiveOut, T) \
116
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(struct, boost::archive::detail::save_enum_type, ArchiveOut, T) \
117
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::save_enum_type, ArchiveOut, T)
118
#else
// (BOOST_VERSION < 104100)
119
#define QX_BOOST_EXPORT_SERIALIZATION_SAVE_ENUM_TYPE_CPP(ArchiveIn, ArchiveOut, T)
/* Nothing */
120
#endif
// (BOOST_VERSION < 104100)
121
122
#if (BOOST_VERSION < 104100)
123
#define QX_BOOST_EXPORT_SERIALIZATION_SAVE_ARRAY_TYPE_CPP(ArchiveIn, ArchiveOut, T) \
124
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(struct, boost::archive::detail::save_array_type, ArchiveOut, T) \
125
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::save_array_type, ArchiveOut, T)
126
#else
// (BOOST_VERSION < 104100)
127
#define QX_BOOST_EXPORT_SERIALIZATION_SAVE_ARRAY_TYPE_CPP(ArchiveIn, ArchiveOut, T)
/* Nothing */
128
#endif
// (BOOST_VERSION < 104100)
129
130
#if (BOOST_VERSION < 104100)
131
#define QX_BOOST_EXPORT_SERIALIZATION_LOAD_POINTER_TYPE_CPP(ArchiveIn, ArchiveOut, T) \
132
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(struct, boost::archive::detail::load_pointer_type, ArchiveIn, T *) \
133
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::load_pointer_type, ArchiveIn, T *)
134
#else
// (BOOST_VERSION < 104100)
135
#define QX_BOOST_EXPORT_SERIALIZATION_LOAD_POINTER_TYPE_CPP(ArchiveIn, ArchiveOut, T)
/* Nothing */
136
#endif
// (BOOST_VERSION < 104100)
137
138
#if (BOOST_VERSION < 104100)
139
#define QX_BOOST_EXPORT_SERIALIZATION_LOAD_NON_POINTER_TYPE_CPP(ArchiveIn, ArchiveOut, T) \
140
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(struct, boost::archive::detail::load_non_pointer_type, ArchiveIn, T) \
141
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::load_non_pointer_type, ArchiveIn, T)
142
#else
// (BOOST_VERSION < 104100)
143
#define QX_BOOST_EXPORT_SERIALIZATION_LOAD_NON_POINTER_TYPE_CPP(ArchiveIn, ArchiveOut, T)
/* Nothing */
144
#endif
// (BOOST_VERSION < 104100)
145
146
#if (BOOST_VERSION < 104100)
147
#define QX_BOOST_EXPORT_SERIALIZATION_LOAD_ENUM_TYPE_CPP(ArchiveIn, ArchiveOut, T) \
148
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(struct, boost::archive::detail::load_enum_type, ArchiveIn, T) \
149
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::load_enum_type, ArchiveIn, T)
150
#else
// (BOOST_VERSION < 104100)
151
#define QX_BOOST_EXPORT_SERIALIZATION_LOAD_ENUM_TYPE_CPP(ArchiveIn, ArchiveOut, T)
/* Nothing */
152
#endif
// (BOOST_VERSION < 104100)
153
154
#if (BOOST_VERSION < 104100)
155
#define QX_BOOST_EXPORT_SERIALIZATION_LOAD_ARRAY_TYPE_CPP(ArchiveIn, ArchiveOut, T) \
156
QX_DLL_EXPORT_TEMPLATE_T_P1_P2_CPP(struct, boost::archive::detail::load_array_type, ArchiveIn, T) \
157
QX_DLL_EXPORT_TEMPLATE_T_U_P1_P2_CPP(class, boost::serialization::singleton, boost::archive::detail::load_array_type, ArchiveIn, T)
158
#else
// (BOOST_VERSION < 104100)
159
#define QX_BOOST_EXPORT_SERIALIZATION_LOAD_ARRAY_TYPE_CPP(ArchiveIn, ArchiveOut, T)
/* Nothing */
160
#endif
// (BOOST_VERSION < 104100)
161
162
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_WITH_ARCHIVE_CPP(ArchiveIn, ArchiveOut, T) \
163
QX_BOOST_EXPORT_SERIALIZATION_IMPL_ISERIALIZER_CPP(ArchiveIn, ArchiveOut, T) \
164
QX_BOOST_EXPORT_SERIALIZATION_IMPL_OSERIALIZER_CPP(ArchiveIn, ArchiveOut, T) \
165
QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_ISERIALIZER_CPP(ArchiveIn, ArchiveOut, T) \
166
QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_OSERIALIZER_CPP(ArchiveIn, ArchiveOut, T) \
167
QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_ISERIALIZER_BOOST_132_HELPER_CPP(ArchiveIn, ArchiveOut, T) \
168
QX_BOOST_EXPORT_SERIALIZATION_IMPL_POINTER_OSERIALIZER_BOOST_132_HELPER_CPP(ArchiveIn, ArchiveOut, T) \
169
QX_BOOST_EXPORT_SERIALIZATION_SAVE_POINTER_TYPE_CPP(ArchiveIn, ArchiveOut, T) \
170
QX_BOOST_EXPORT_SERIALIZATION_LOAD_POINTER_TYPE_CPP(ArchiveIn, ArchiveOut, T)
171
172
#define QX_BOOST_EXPORT_SERIALIZATION_IMPL_CPP(T) \
173
QX_BOOST_EXPORT_SERIALIZATION_IMPL_EXTENDED_TYPE_ID_CPP(T) \
174
/*
175
QX_BOOST_EXPORT_SERIALIZATION_IMPL_VOID_CAST_PRIMITIVE_CPP(T) \
176
QX_BOOST_EXPORT_SERIALIZATION_IMPL_TYPE_INFO_IMPL_CPP(T)
177
*/
178
179
#if _QX_SERIALIZE_POLYMORPHIC
180
#define QX_BOOST_EXPORT_SERIALIZATION_POLYMORPHIC_CPP(T) \
181
QX_BOOST_EXPORT_SERIALIZATION_IMPL_WITH_ARCHIVE_CPP(boost::archive::polymorphic_iarchive, boost::archive::polymorphic_oarchive, T)
182
#else
// _QX_SERIALIZE_POLYMORPHIC
183
#define QX_BOOST_EXPORT_SERIALIZATION_POLYMORPHIC_CPP(T)
/* Nothing */
184
#endif
// _QX_SERIALIZE_POLYMORPHIC
185
186
#if _QX_SERIALIZE_BINARY
187
#define QX_BOOST_EXPORT_SERIALIZATION_BINARY_CPP(T) \
188
QX_BOOST_EXPORT_SERIALIZATION_IMPL_WITH_ARCHIVE_CPP(boost::archive::binary_iarchive, boost::archive::binary_oarchive, T)
189
#else
// _QX_SERIALIZE_BINARY
190
#define QX_BOOST_EXPORT_SERIALIZATION_BINARY_CPP(T)
/* Nothing */
191
#endif
// _QX_SERIALIZE_BINARY
192
193
#if _QX_SERIALIZE_TEXT
194
#define QX_BOOST_EXPORT_SERIALIZATION_TEXT_CPP(T) \
195
QX_BOOST_EXPORT_SERIALIZATION_IMPL_WITH_ARCHIVE_CPP(boost::archive::text_iarchive, boost::archive::text_oarchive, T)
196
#else
// _QX_SERIALIZE_TEXT
197
#define QX_BOOST_EXPORT_SERIALIZATION_TEXT_CPP(T)
/* Nothing */
198
#endif
// _QX_SERIALIZE_TEXT
199
200
#if _QX_SERIALIZE_XML
201
#define QX_BOOST_EXPORT_SERIALIZATION_XML_CPP(T) \
202
QX_BOOST_EXPORT_SERIALIZATION_IMPL_WITH_ARCHIVE_CPP(boost::archive::xml_iarchive, boost::archive::xml_oarchive, T)
203
#else
// _QX_SERIALIZE_XML
204
#define QX_BOOST_EXPORT_SERIALIZATION_XML_CPP(T)
/* Nothing */
205
#endif
// _QX_SERIALIZE_XML
206
207
#if _QX_SERIALIZE_PORTABLE_BINARY
208
#define QX_BOOST_EXPORT_SERIALIZATION_PORTABLE_BINARY_CPP(T) \
209
QX_BOOST_EXPORT_SERIALIZATION_IMPL_WITH_ARCHIVE_CPP(eos::portable_iarchive, eos::portable_oarchive, T)
210
#else
// _QX_SERIALIZE_PORTABLE_BINARY
211
#define QX_BOOST_EXPORT_SERIALIZATION_PORTABLE_BINARY_CPP(T)
/* Nothing */
212
#endif
// _QX_SERIALIZE_PORTABLE_BINARY
213
214
#if _QX_SERIALIZE_WIDE_BINARY
215
#define QX_BOOST_EXPORT_SERIALIZATION_WIDE_BINARY_CPP(T) \
216
QX_BOOST_EXPORT_SERIALIZATION_IMPL_WITH_ARCHIVE_CPP(boost::archive::binary_wiarchive, boost::archive::binary_woarchive, T)
217
#else
// _QX_SERIALIZE_WIDE_BINARY
218
#define QX_BOOST_EXPORT_SERIALIZATION_WIDE_BINARY_CPP(T)
/* Nothing */
219
#endif
// _QX_SERIALIZE_WIDE_BINARY
220
221
#if _QX_SERIALIZE_WIDE_TEXT
222
#define QX_BOOST_EXPORT_SERIALIZATION_WIDE_TEXT_CPP(T) \
223
QX_BOOST_EXPORT_SERIALIZATION_IMPL_WITH_ARCHIVE_CPP(boost::archive::text_wiarchive, boost::archive::text_woarchive, T)
224
#else
// _QX_SERIALIZE_WIDE_TEXT
225
#define QX_BOOST_EXPORT_SERIALIZATION_WIDE_TEXT_CPP(T)
/* Nothing */
226
#endif
// _QX_SERIALIZE_WIDE_TEXT
227
228
#if _QX_SERIALIZE_WIDE_XML
229
#define QX_BOOST_EXPORT_SERIALIZATION_WIDE_XML_CPP(T) \
230
QX_BOOST_EXPORT_SERIALIZATION_IMPL_WITH_ARCHIVE_CPP(boost::archive::xml_wiarchive, boost::archive::xml_woarchive, T)
231
#else
// _QX_SERIALIZE_WIDE_XML
232
#define QX_BOOST_EXPORT_SERIALIZATION_WIDE_XML_CPP(T)
/* Nothing */
233
#endif
// _QX_SERIALIZE_WIDE_XML
234
235
#define QX_BOOST_EXPORT_SERIALIZATION_CPP(T) \
236
QX_BOOST_EXPORT_SERIALIZATION_IMPL_CPP(T) \
237
QX_BOOST_EXPORT_SERIALIZATION_POLYMORPHIC_CPP(T) \
238
QX_BOOST_EXPORT_SERIALIZATION_BINARY_CPP(T) \
239
QX_BOOST_EXPORT_SERIALIZATION_TEXT_CPP(T) \
240
QX_BOOST_EXPORT_SERIALIZATION_XML_CPP(T) \
241
QX_BOOST_EXPORT_SERIALIZATION_PORTABLE_BINARY_CPP(T) \
242
QX_BOOST_EXPORT_SERIALIZATION_WIDE_BINARY_CPP(T) \
243
QX_BOOST_EXPORT_SERIALIZATION_WIDE_TEXT_CPP(T) \
244
QX_BOOST_EXPORT_SERIALIZATION_WIDE_XML_CPP(T)
245
246
#else
// _QX_USE_EXPORT_DLL_BOOST_SERIALIZATION_SINGLETON
247
248
#define QX_BOOST_EXPORT_SERIALIZATION_CPP(T)
/* Nothing */
249
250
#endif
// _QX_USE_EXPORT_DLL_BOOST_SERIALIZATION_SINGLETON
251
#endif
// _QX_EXPORT_DLL_MACRO_CPP_H_
252
#endif
// _QX_ENABLE_BOOST_SERIALIZATION
QxConfig.h
List of parameters to compile and build QxOrm library.
QxExportDllMacroHpp.h
include
QxSerialize
boost
QxExportDllMacroCpp.h
Generated on Wed Jul 24 2024 21:08:17 for QxOrm by
1.11.0