21 #define geneial_namespace_noexport(NAME) __ ## NAME ##_
22 #define geneial_namespace_export _
23 #define geneial_public_namespace_name(NAME) NAME
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
32 geneial_public_namespace(geneial)
34 geneial_public_namespace(algorithm)
36 geneial_public_namespace(stopping_criteria)
41 geneial_public_namespace(utility)
45 geneial_public_namespace(population)
47 geneial_public_namespace(management)
50 geneial_public_namespace(chromosome)
55 geneial_public_namespace(operation)
57 geneial_public_namespace(choosing)
60 geneial_public_namespace(coupling)
63 geneial_public_namespace(crossover)
66 geneial_public_namespace(mutation)
69 geneial_public_namespace(replacement)
72 geneial_public_namespace(selection)
82 geneial_private_namespace(geneial)
84 geneial_export_namespace
86 using namespace ::geneial_public_namespace_name(geneial);
89 geneial_private_namespace(algorithm)
91 geneial_export_namespace
93 using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(algorithm);
96 geneial_private_namespace(stopping_criteria)
98 geneial_export_namespace
100 using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(algorithm)::geneial_public_namespace_name(stopping_criteria);
105 geneial_private_namespace(utility)
107 geneial_export_namespace
109 using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(utility);
113 geneial_private_namespace(population)
115 geneial_export_namespace
117 using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(population);
120 geneial_private_namespace(management)
122 geneial_export_namespace
124 using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(population)::geneial_public_namespace_name(management);
128 geneial_private_namespace(chromosome)
130 geneial_export_namespace
132 using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(population)::geneial_public_namespace_name(chromosome);
137 geneial_private_namespace(operation)
139 geneial_export_namespace
141 using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation);
144 geneial_private_namespace(choosing)
146 geneial_export_namespace
148 using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation)::geneial_public_namespace_name(choosing);
152 geneial_private_namespace(coupling)
154 geneial_export_namespace
156 using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation)::geneial_public_namespace_name(coupling);
160 geneial_private_namespace(crossover)
162 geneial_export_namespace
164 using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation)::geneial_public_namespace_name(crossover);
168 geneial_private_namespace(mutation)
170 geneial_export_namespace
172 using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation)::geneial_public_namespace_name(mutation);
176 geneial_private_namespace(replacement)
178 geneial_export_namespace
180 using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation)::geneial_public_namespace_name(replacement);
184 geneial_private_namespace(selection)
186 geneial_export_namespace
188 using namespace ::geneial_public_namespace_name(geneial)::geneial_public_namespace_name(operation)::geneial_public_namespace_name(selection);
199 geneial_public_namespace(geneial)
201 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_export;
203 geneial_public_namespace(algorithm)
205 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(algorithm)::geneial_namespace_export;
207 geneial_public_namespace(stopping_criteria)
209 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(algorithm)::geneial_namespace_noexport(stopping_criteria)::geneial_namespace_export;
213 geneial_public_namespace(utility)
215 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(utility)::geneial_namespace_export;
218 geneial_public_namespace(population)
220 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(population)::geneial_namespace_export;
222 geneial_public_namespace(management)
224 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(population)::geneial_namespace_noexport(management)::geneial_namespace_export;
227 geneial_public_namespace(chromosome)
229 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(population)::geneial_namespace_noexport(chromosome)::geneial_namespace_export;
233 geneial_public_namespace(operation)
235 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_export;
237 geneial_public_namespace(choosing)
239 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_noexport(choosing)::geneial_namespace_export;
242 geneial_public_namespace(coupling)
244 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_noexport(coupling)::geneial_namespace_export;
247 geneial_public_namespace(crossover)
249 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_noexport(crossover)::geneial_namespace_export;
252 geneial_public_namespace(mutation)
254 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_noexport(mutation)::geneial_namespace_export;
257 geneial_public_namespace(replacement)
259 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_noexport(replacement)::geneial_namespace_export;
262 geneial_public_namespace(selection)
264 using namespace ::geneial_namespace_noexport(geneial)::geneial_namespace_noexport(operation)::geneial_namespace_noexport(selection)::geneial_namespace_export;