GENEIAL  0.2=/
 All Classes Pages
namespaces.h
1 #pragma once
2 
21 #define geneial_namespace_noexport(NAME) __ ## NAME ##_
22 #define geneial_namespace_export _
23 #define geneial_public_namespace_name(NAME) NAME
24 
25 #define geneial_private_namespace(NAME) namespace geneial_namespace_noexport(NAME)
26 #define geneial_public_namespace(NAME) namespace geneial_public_namespace_name(NAME)
27 #define geneial_export_namespace inline namespace geneial_namespace_export
28 
32 geneial_public_namespace(geneial)
33 {
34  geneial_public_namespace(algorithm)
35  {
36  geneial_public_namespace(stopping_criteria)
37  {
38  }
39  }
40 
41  geneial_public_namespace(utility)
42  {
43  }
44 
45  geneial_public_namespace(population)
46  {
47  geneial_public_namespace(management)
48  {
49  }
50  geneial_public_namespace(chromosome)
51  {
52  }
53  }
54 
55  geneial_public_namespace(operation)
56  {
57  geneial_public_namespace(choosing)
58  {
59  }
60  geneial_public_namespace(coupling)
61  {
62  }
63  geneial_public_namespace(crossover)
64  {
65  }
66  geneial_public_namespace(mutation)
67  {
68  }
69  geneial_public_namespace(replacement)
70  {
71  }
72  geneial_public_namespace(selection)
73  {
74  }
75  }
76 }
77 
78 
82 geneial_private_namespace(geneial)
83 {
84  geneial_export_namespace
85  {
86  using namespace ::geneial_public_namespace_name(geneial);
87  }
88 
89  geneial_private_namespace(algorithm)
90  {
91  geneial_export_namespace
92  {
93  using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(algorithm);
94  }
95 
96  geneial_private_namespace(stopping_criteria)
97  {
98  geneial_export_namespace
99  {
100  using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(algorithm)::geneial_public_namespace_name(stopping_criteria);
101  }
102  }
103  }
104 
105  geneial_private_namespace(utility)
106  {
107  geneial_export_namespace
108  {
109  using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(utility);
110  }
111  }
112 
113  geneial_private_namespace(population)
114  {
115  geneial_export_namespace
116  {
117  using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(population);
118  }
119 
120  geneial_private_namespace(management)
121  {
122  geneial_export_namespace
123  {
124  using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(population)::geneial_public_namespace_name(management);
125  }
126  }
127 
128  geneial_private_namespace(chromosome)
129  {
130  geneial_export_namespace
131  {
132  using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(population)::geneial_public_namespace_name(chromosome);
133  }
134  }
135  }
136 
137  geneial_private_namespace(operation)
138  {
139  geneial_export_namespace
140  {
141  using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation);
142  }
143 
144  geneial_private_namespace(choosing)
145  {
146  geneial_export_namespace
147  {
148  using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation)::geneial_public_namespace_name(choosing);
149  }
150  }
151 
152  geneial_private_namespace(coupling)
153  {
154  geneial_export_namespace
155  {
156  using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation)::geneial_public_namespace_name(coupling);
157  }
158  }
159 
160  geneial_private_namespace(crossover)
161  {
162  geneial_export_namespace
163  {
164  using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation)::geneial_public_namespace_name(crossover);
165  }
166  }
167 
168  geneial_private_namespace(mutation)
169  {
170  geneial_export_namespace
171  {
172  using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation)::geneial_public_namespace_name(mutation);
173  }
174  }
175 
176  geneial_private_namespace(replacement)
177  {
178  geneial_export_namespace
179  {
180  using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation)::geneial_public_namespace_name(replacement);
181  }
182  }
183 
184  geneial_private_namespace(selection)
185  {
186  geneial_export_namespace
187  {
188  using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation)::geneial_public_namespace_name(selection);
189  }
190  }
191 
192  }
193 
194 }
195 
199 geneial_public_namespace(geneial)
200 {
201  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_export;
202 
203  geneial_public_namespace(algorithm)
204  {
205  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(algorithm)::geneial_namespace_export;
206 
207  geneial_public_namespace(stopping_criteria)
208  {
209  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(algorithm)::geneial_namespace_noexport(stopping_criteria)::geneial_namespace_export;
210  }
211  }
212 
213  geneial_public_namespace(utility)
214  {
215  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(utility)::geneial_namespace_export;
216  }
217 
218  geneial_public_namespace(population)
219  {
220  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(population)::geneial_namespace_export;
221 
222  geneial_public_namespace(management)
223  {
224  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(population)::geneial_namespace_noexport(management)::geneial_namespace_export;
225  }
226 
227  geneial_public_namespace(chromosome)
228  {
229  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(population)::geneial_namespace_noexport(chromosome)::geneial_namespace_export;
230  }
231  }
232 
233  geneial_public_namespace(operation)
234  {
235  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_export;
236 
237  geneial_public_namespace(choosing)
238  {
239  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_noexport(choosing)::geneial_namespace_export;
240  }
241 
242  geneial_public_namespace(coupling)
243  {
244  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_noexport(coupling)::geneial_namespace_export;
245  }
246 
247  geneial_public_namespace(crossover)
248  {
249  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_noexport(crossover)::geneial_namespace_export;
250  }
251 
252  geneial_public_namespace(mutation)
253  {
254  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_noexport(mutation)::geneial_namespace_export;
255  }
256 
257  geneial_public_namespace(replacement)
258  {
259  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_noexport(replacement)::geneial_namespace_export;
260  }
261 
262  geneial_public_namespace(selection)
263  {
264  using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_noexport(selection)::geneial_namespace_export;
265  }
266  }
267 }