38 #if !defined(THEOLIZER_INTERNAL_CONTAINERS_H) 39 #define THEOLIZER_INTERNAL_CONTAINERS_H 44 #ifndef THEOLIZER_INTERNAL_DOXYGEN 71 #ifdef THEOLIZER_WRITE_CODE 73 #define THEOLIZER_GENERATED_LAST_VERSION_NO THEOLIZER_INTERNAL_DEFINE(kLastVersionNo,1) 74 #define THEOLIZER_GENERATED_CLASS_TYPE THEOLIZER_INTERNAL_FULL_NAME 75 #define THEOLIZER_GENERATED_PARAMETER_LIST THEOLZIER_INTERNAL_CONTAINER_PARAMETER 76 #define THEOLIZER_GENERATED_UNIQUE_NAME THEOLZIER_INTERNAL_CONTAINER_UNIQUE 80 #define THEOLIZER_GENERATED_VERSION_NO THEOLIZER_INTERNAL_DEFINE(kVersionNo,1) 81 #define THEOLIZER_GENERATED_CLASS_NAME() THEOLIZER_INTERNAL_TEMPLATE_NAME(\ 82 (u8"" THEOLIZER_INTERNAL_STRINGIZE(THEOLZIER_INTERNAL_CONTAINER_NAME), \ 83 THEOLZIER_INTERNAL_CONTAINER_ARGUMENT)) 84 #include <theolizer/internal/version_manual.inc> 85 #undef THEOLIZER_GENERATED_VERSION_NO 87 #endif//THEOLIZER_WRITE_CODE 95 #ifndef THEOLIZER_INTERNAL_DOXYGEN 105 THEOLIZER_TEMPLATE_PARAMETER_TEMPLATE((template<class T>),
113 THEOLIZER_TEMPLATE_PARAMETER_TEMPLATE((template<class T>),
121 THEOLIZER_TEMPLATE_PARAMETER_TEMPLATE((template<class Key>),
129 THEOLIZER_TEMPLATE_PARAMETER_TEMPLATE((template<class Key>),
130 std::equal_to, (Key),
146 template<
class tVector,
typename tType,
class tTheolizerVersion>
149 template<
class tSerializer>
150 static void save(tSerializer& iSerializer,
typename tVector::const_reference iValue)
154 template<
class tSerializer>
155 static void load(tSerializer& iSerializer,
typename tVector::reference oValue)
161 template<
class tVector,
class tTheolizerVersion>
162 struct SupportVector<tVector, bool, tTheolizerVersion>
164 template<
class tSerializer>
165 static void save(tSerializer& iSerializer,
typename tVector::const_reference iValue)
170 template<
class tSerializer>
171 static void load(tSerializer& iSerializer,
typename tVector::reference oValue)
183 template<
class tVector,
typename tType,
class tTheolizerVersion>
184 struct SupportVectorPointee
186 template<
class tSerializer>
187 static void save(tSerializer& iSerializer,
typename tVector::const_reference iValue)
191 template<
class tSerializer>
192 static void load(tSerializer& iSerializer,
typename tVector::reference oValue)
198 template<
class tVector,
class tTheolizerVersion>
199 struct SupportVectorPointee<tVector, bool, tTheolizerVersion>
201 template<
class tSerializer>
202 static void save(tSerializer& iSerializer,
typename tVector::const_reference iValue)
204 THEOLIZER_INTERNAL_ABORT(
"Can't support VectorPointee<bool>.");
206 template<
class tSerializer>
207 static void load(tSerializer& iSerializer,
typename tVector::reference oValue)
209 THEOLIZER_INTERNAL_ABORT(
"Can't support VectorPointee<bool>.");
224 THEOLIZER_NON_INTRUSIVE_TEMPLATE_ORDER((template<class T1, class T2>),
225 (std::pair<T1, T2>), 1,
234 template<
class T1,
class T2>
235 template<
class tM
idSerializer,
class tTheolizerVersion>
236 struct TheolizerNonIntrusive<std::pair<T1, T2>>::
237 TheolizerUserDefine<tMidSerializer, tTheolizerVersion, 1>
240 static void saveClassManual
242 tMidSerializer& iSerializer,
243 typename tTheolizerVersion::TheolizerTarget
const*
const& iInstance
251 static void loadClassManual
253 tMidSerializer& iSerializer,
254 typename tTheolizerVersion::TheolizerTarget*& oInstance
258 if (!oInstance) oInstance=
new typename tTheolizerVersion::TheolizerTarget();
269 #ifdef THEOLIZER_WRITE_CODE // ###### std::pair<T1,T2> ###### 271 #define THEOLIZER_GENERATED_LAST_VERSION_NO THEOLIZER_INTERNAL_DEFINE(kLastVersionNo,1) 272 #define THEOLIZER_GENERATED_CLASS_TYPE THEOLIZER_INTERNAL_UNPAREN(std::pair<T1, T2>) 273 #define THEOLIZER_GENERATED_PARAMETER_LIST template<class T1, class T2> 274 #define THEOLIZER_GENERATED_UNIQUE_NAME pairTheolizer 278 #define THEOLIZER_GENERATED_VERSION_NO THEOLIZER_INTERNAL_DEFINE(kVersionNo,1) 279 #define THEOLIZER_GENERATED_CLASS_NAME()\ 280 THEOLIZER_INTERNAL_TEMPLATE_NAME((u8"std::pair",T1,T2)) 281 #include <theolizer/internal/version_manual.inc> 282 #undef THEOLIZER_GENERATED_VERSION_NO 284 #endif//THEOLIZER_WRITE_CODE // ###### std::pair<T1,T2> ###### 286 #endif // THEOLIZER_INTERNAL_DOXYGEN 300 #endif // THEOLIZER_INTERNAL_CONTAINERS_H
#define THEOLIZER_PROCESS(dSerializer, dInstance)
通常の保存/回復処理マクロ(2-4-2.シリアライズ処理要求 参照)
#define THEOLIZER_PROVIDED_BY(dVendor)
ソース自動生成制御
#define THEOLIZER_PROCESS_POINTEE(dSerializer, dInstance)
被ポインタ用の保存/回復処理マクロ(2-4-2.シリアライズ処理要求 参照)