Theolizer  Version.1.2.0
serializer for C++ / Do you want to update your classes easily ?
set.h
[詳解]
1 //############################################################################
2 /*!
3  @brief std::set<>のシリアライズ
4  @ingroup SerializationStl
5  @file set.h
6  @author Yoshinori Tahara(Theoride Technology)
7  @date 2017/02/05 Created
8 */
9 /*
10  © 2016 Theoride Technology (http://theolizer.com/) All Rights Reserved.
11  "Theolizer" is a registered trademark of Theoride Technology.
12 
13  "Theolizer" License
14  In the case where you are in possession of a valid “Theolizer” License,
15  you may use this file in accordance with the terms and conditions of
16  the use license determined by Theoride Technology.
17 
18  General Public License Version 3 ("GPLv3")
19  You may use this file in accordance with the terms and conditions of
20  GPLv3 published by Free Software Foundation.
21  Please confirm the contents of GPLv3 at https://www.gnu.org/licenses/gpl.txt .
22  A copy of GPLv3 is also saved in a LICENSE.TXT file.
23 
24  商用ライセンス
25  あなたが有効なTheolizer商用ライセンスを保持している場合、
26  セオライド テクノロジーの定める使用許諾書の条件に従って、
27  このファイルを取り扱うことができます。
28 
29  General Public License Version 3(以下GPLv3)
30  Free Software Foundationが公表するGPLv3の使用条件に従って、
31  あなたはこのファイルを取り扱うことができます。
32  GPLv3の内容を https://www.gnu.org/licenses/gpl.txt にて確認して下さい。
33  またGPLv3のコピーをLICENSE.TXTファイルにおいてます。
34 */
35 //############################################################################
36 
37 #if !defined(THEOLIZER_INTERNAL_SET_H)
38 #define THEOLIZER_INTERNAL_SET_H
39 
40 #ifndef THEOLIZER_INTERNAL_DOXYGEN
41 
42 //############################################################################
43 // Begin
44 //############################################################################
45 
46 #include <set>
47 #include "serializer.h"
48 #include "internal/containers.h"
49 
50 THEOLIZER_PROVIDED_BY("Theoride Technology");
51 
52 //############################################################################
53 // std::set<>対応
54 //############################################################################
55 
56 // ***************************************************************************
57 // 手動コード展開
58 // ***************************************************************************
59 
60 #define THEOLZIER_INTERNAL_CONTAINER_PARAMETER \
61  template<class T, class Compare, class Alloc>
62 #define THEOLZIER_INTERNAL_CONTAINER_NAME std::set
63 #define THEOLZIER_INTERNAL_CONTAINER_ARGUMENT T, Compare, Alloc
64 #define THEOLZIER_INTERNAL_CONTAINER_UNIQUE setTheolizer
65 #include "internal/container_set.inc"
66 
67 // ***************************************************************************
68 // 自動生成コード
69 // ***************************************************************************
70 
71 #ifdef THEOLIZER_WRITE_CODE
72 
73 #define THEOLIZER_GENERATED_LAST_VERSION_NO THEOLIZER_INTERNAL_DEFINE(kLastVersionNo,1)
74 #define THEOLIZER_GENERATED_CLASS_TYPE THEOLIZER_INTERNAL_UNPAREN(std::set<T, Compare, Alloc>)
75 #define THEOLIZER_GENERATED_PARAMETER_LIST template<class T, class Compare, class Alloc>
76 #define THEOLIZER_GENERATED_UNIQUE_NAME setTheolizer
77 
78 // ---<<< Version.1 >>>---
79 
80 #define THEOLIZER_GENERATED_VERSION_NO THEOLIZER_INTERNAL_DEFINE(kVersionNo,1)
81 #define THEOLIZER_GENERATED_CLASS_NAME()\
82  THEOLIZER_INTERNAL_TEMPLATE_NAME((u8"std::set",T,Compare,Alloc))
83 #include <theolizer/internal/version_manual.inc>
84 #undef THEOLIZER_GENERATED_VERSION_NO
85 
86 #endif//THEOLIZER_WRITE_CODE
87 
88 // ***************************************************************************
89 // 定義したマクロの解放
90 // ***************************************************************************
91 
92 #undef THEOLZIER_INTERNAL_CONTAINER_PARAMETER
93 #undef THEOLZIER_INTERNAL_CONTAINER_NAME
94 #undef THEOLZIER_INTERNAL_CONTAINER_ARGUMENT
95 #undef THEOLZIER_INTERNAL_CONTAINER_UNIQUE
96 
97 #undef THEOLIZER_INTERNAL_FULL_NAME
98 
99 //############################################################################
100 // std::multiset<>対応
101 //############################################################################
102 
103 // ***************************************************************************
104 // 手動コード展開
105 // ***************************************************************************
106 
107 #define THEOLZIER_INTERNAL_CONTAINER_PARAMETER \
108  template<class T, class Compare, class Alloc>
109 #define THEOLZIER_INTERNAL_CONTAINER_NAME std::multiset
110 #define THEOLZIER_INTERNAL_CONTAINER_ARGUMENT T, Compare, Alloc
111 #define THEOLZIER_INTERNAL_CONTAINER_UNIQUE multisetTheolizer
112 #define THEOLIZER_INTERNAL_IS_MULTI
113 #include "internal/container_set.inc"
114 #undef THEOLIZER_INTERNAL_IS_MULTI
115 
116 // ***************************************************************************
117 // 自動生成コードの雛形
118 // ***************************************************************************
119 
120 //----------------------------------------------------------------------------
121 // 通常用
122 //----------------------------------------------------------------------------
123 
124 #ifdef THEOLIZER_WRITE_CODE
125 
126 #define THEOLIZER_GENERATED_LAST_VERSION_NO THEOLIZER_INTERNAL_DEFINE(kLastVersionNo,1)
127 #define THEOLIZER_GENERATED_CLASS_TYPE THEOLIZER_INTERNAL_UNPAREN(std::multiset<T, Compare, Alloc>)
128 #define THEOLIZER_GENERATED_PARAMETER_LIST template<class T, class Compare, class Alloc>
129 #define THEOLIZER_GENERATED_UNIQUE_NAME multisetTheolizer
130 
131 // ---<<< Version.1 >>>---
132 
133 #define THEOLIZER_GENERATED_VERSION_NO THEOLIZER_INTERNAL_DEFINE(kVersionNo,1)
134 #define THEOLIZER_GENERATED_CLASS_NAME()\
135  THEOLIZER_INTERNAL_TEMPLATE_NAME((u8"std::multiset",T,Compare,Alloc))
136 #include <theolizer/internal/version_manual.inc>
137 #undef THEOLIZER_GENERATED_VERSION_NO
138 
139 #endif//THEOLIZER_WRITE_CODE
140 
141 // ***************************************************************************
142 // 定義したマクロの解放
143 // ***************************************************************************
144 
145 #undef THEOLZIER_INTERNAL_CONTAINER_PARAMETER
146 #undef THEOLZIER_INTERNAL_CONTAINER_NAME
147 #undef THEOLZIER_INTERNAL_CONTAINER_ARGUMENT
148 #undef THEOLZIER_INTERNAL_CONTAINER_UNIQUE
149 
150 #undef THEOLIZER_INTERNAL_FULL_NAME
151 
152 //############################################################################
153 // End
154 //############################################################################
155 
156 #endif // THEOLIZER_INTERNAL_DOXYGEN
157 
158 #endif // THEOLIZER_INTERNAL_SET_H
Theolizerライブラリの標準コンテナ・サポート
#define THEOLIZER_PROVIDED_BY(dVendor)
ソース自動生成制御
TheolizerライブラリのAPI部