1use {
2 doubloon::{
3 Currency,
4 Money,
5 },
6 async_proto_derive::impl_protocol_for,
7 crate::Protocol,
8};
9
10#[derive(Protocol)]
11#[async_proto(internal)]
12struct MoneyProxy<C> {
13 amount: rust_decimal::Decimal,
14 currency: C,
15}
16
17impl<C: Copy> From<MoneyProxy<C>> for Money<C> {
18 fn from(value: MoneyProxy<C>) -> Self {
19 Self::new(value.amount, value.currency)
20 }
21}
22
23impl<'a, C: Currency + Copy> From<&'a Money<C>> for MoneyProxy<C> {
24 fn from(value: &'a Money<C>) -> Self {
25 Self {
26 amount: value.amount(),
27 currency: value.currency(),
28 }
29 }
30}
31
32impl_protocol_for! {
33 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
34 #[async_proto(via = MoneyProxy<C>, where(C: Protocol + Currency + Copy + Send + Sync + 'static))]
35 type Money<C>;
36
37 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
38 struct doubloon::iso_currencies::AED;
39
40 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
41 struct doubloon::iso_currencies::AFN;
42
43 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
44 struct doubloon::iso_currencies::ALL;
45
46 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
47 struct doubloon::iso_currencies::AMD;
48
49 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
50 struct doubloon::iso_currencies::ANG;
51
52 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
53 struct doubloon::iso_currencies::AOA;
54
55 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
56 struct doubloon::iso_currencies::ARS;
57
58 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
59 struct doubloon::iso_currencies::AUD;
60
61 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
62 struct doubloon::iso_currencies::AWG;
63
64 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
65 struct doubloon::iso_currencies::AZN;
66
67 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
68 struct doubloon::iso_currencies::BAM;
69
70 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
71 struct doubloon::iso_currencies::BBD;
72
73 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
74 struct doubloon::iso_currencies::BDT;
75
76 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
77 struct doubloon::iso_currencies::BGN;
78
79 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
80 struct doubloon::iso_currencies::BHD;
81
82 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
83 struct doubloon::iso_currencies::BIF;
84
85 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
86 struct doubloon::iso_currencies::BMD;
87
88 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
89 struct doubloon::iso_currencies::BND;
90
91 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
92 struct doubloon::iso_currencies::BOB;
93
94 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
95 struct doubloon::iso_currencies::BOV;
96
97 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
98 struct doubloon::iso_currencies::BRL;
99
100 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
101 struct doubloon::iso_currencies::BSD;
102
103 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
104 struct doubloon::iso_currencies::BTN;
105
106 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
107 struct doubloon::iso_currencies::BWP;
108
109 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
110 struct doubloon::iso_currencies::BYN;
111
112 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
113 struct doubloon::iso_currencies::BZD;
114
115 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
116 struct doubloon::iso_currencies::CAD;
117
118 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
119 struct doubloon::iso_currencies::CDF;
120
121 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
122 struct doubloon::iso_currencies::CHE;
123
124 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
125 struct doubloon::iso_currencies::CHF;
126
127 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
128 struct doubloon::iso_currencies::CHW;
129
130 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
131 struct doubloon::iso_currencies::CLF;
132
133 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
134 struct doubloon::iso_currencies::CLP;
135
136 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
137 struct doubloon::iso_currencies::CNY;
138
139 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
140 struct doubloon::iso_currencies::COP;
141
142 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
143 struct doubloon::iso_currencies::COU;
144
145 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
146 struct doubloon::iso_currencies::CRC;
147
148 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
149 struct doubloon::iso_currencies::CUC;
150
151 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
152 struct doubloon::iso_currencies::CUP;
153
154 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
155 struct doubloon::iso_currencies::CVE;
156
157 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
158 struct doubloon::iso_currencies::CZK;
159
160 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
161 struct doubloon::iso_currencies::DJF;
162
163 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
164 struct doubloon::iso_currencies::DKK;
165
166 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
167 struct doubloon::iso_currencies::DOP;
168
169 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
170 struct doubloon::iso_currencies::DZD;
171
172 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
173 struct doubloon::iso_currencies::EGP;
174
175 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
176 struct doubloon::iso_currencies::ERN;
177
178 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
179 struct doubloon::iso_currencies::ETB;
180
181 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
182 struct doubloon::iso_currencies::EUR;
183
184 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
185 struct doubloon::iso_currencies::FJD;
186
187 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
188 struct doubloon::iso_currencies::FKP;
189
190 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
191 struct doubloon::iso_currencies::GBP;
192
193 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
194 struct doubloon::iso_currencies::GEL;
195
196 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
197 struct doubloon::iso_currencies::GHS;
198
199 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
200 struct doubloon::iso_currencies::GIP;
201
202 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
203 struct doubloon::iso_currencies::GMD;
204
205 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
206 struct doubloon::iso_currencies::GNF;
207
208 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
209 struct doubloon::iso_currencies::GTQ;
210
211 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
212 struct doubloon::iso_currencies::GYD;
213
214 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
215 struct doubloon::iso_currencies::HKD;
216
217 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
218 struct doubloon::iso_currencies::HNL;
219
220 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
221 struct doubloon::iso_currencies::HTG;
222
223 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
224 struct doubloon::iso_currencies::HUF;
225
226 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
227 struct doubloon::iso_currencies::IDR;
228
229 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
230 struct doubloon::iso_currencies::ILS;
231
232 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
233 struct doubloon::iso_currencies::INR;
234
235 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
236 struct doubloon::iso_currencies::IQD;
237
238 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
239 struct doubloon::iso_currencies::IRR;
240
241 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
242 struct doubloon::iso_currencies::ISK;
243
244 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
245 struct doubloon::iso_currencies::JMD;
246
247 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
248 struct doubloon::iso_currencies::JOD;
249
250 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
251 struct doubloon::iso_currencies::JPY;
252
253 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
254 struct doubloon::iso_currencies::KES;
255
256 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
257 struct doubloon::iso_currencies::KGS;
258
259 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
260 struct doubloon::iso_currencies::KHR;
261
262 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
263 struct doubloon::iso_currencies::KMF;
264
265 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
266 struct doubloon::iso_currencies::KPW;
267
268 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
269 struct doubloon::iso_currencies::KRW;
270
271 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
272 struct doubloon::iso_currencies::KWD;
273
274 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
275 struct doubloon::iso_currencies::KYD;
276
277 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
278 struct doubloon::iso_currencies::KZT;
279
280 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
281 struct doubloon::iso_currencies::LAK;
282
283 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
284 struct doubloon::iso_currencies::LBP;
285
286 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
287 struct doubloon::iso_currencies::LKR;
288
289 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
290 struct doubloon::iso_currencies::LRD;
291
292 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
293 struct doubloon::iso_currencies::LSL;
294
295 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
296 struct doubloon::iso_currencies::LYD;
297
298 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
299 struct doubloon::iso_currencies::MAD;
300
301 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
302 struct doubloon::iso_currencies::MDL;
303
304 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
305 struct doubloon::iso_currencies::MGA;
306
307 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
308 struct doubloon::iso_currencies::MKD;
309
310 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
311 struct doubloon::iso_currencies::MMK;
312
313 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
314 struct doubloon::iso_currencies::MNT;
315
316 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
317 struct doubloon::iso_currencies::MOP;
318
319 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
320 struct doubloon::iso_currencies::MRU;
321
322 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
323 struct doubloon::iso_currencies::MUR;
324
325 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
326 struct doubloon::iso_currencies::MVR;
327
328 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
329 struct doubloon::iso_currencies::MWK;
330
331 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
332 struct doubloon::iso_currencies::MXN;
333
334 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
335 struct doubloon::iso_currencies::MXV;
336
337 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
338 struct doubloon::iso_currencies::MYR;
339
340 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
341 struct doubloon::iso_currencies::MZN;
342
343 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
344 struct doubloon::iso_currencies::NAD;
345
346 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
347 struct doubloon::iso_currencies::NGN;
348
349 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
350 struct doubloon::iso_currencies::NIO;
351
352 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
353 struct doubloon::iso_currencies::NOK;
354
355 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
356 struct doubloon::iso_currencies::NPR;
357
358 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
359 struct doubloon::iso_currencies::NZD;
360
361 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
362 struct doubloon::iso_currencies::OMR;
363
364 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
365 struct doubloon::iso_currencies::PAB;
366
367 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
368 struct doubloon::iso_currencies::PEN;
369
370 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
371 struct doubloon::iso_currencies::PGK;
372
373 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
374 struct doubloon::iso_currencies::PHP;
375
376 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
377 struct doubloon::iso_currencies::PKR;
378
379 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
380 struct doubloon::iso_currencies::PLN;
381
382 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
383 struct doubloon::iso_currencies::PYG;
384
385 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
386 struct doubloon::iso_currencies::QAR;
387
388 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
389 struct doubloon::iso_currencies::RON;
390
391 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
392 struct doubloon::iso_currencies::RSD;
393
394 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
395 struct doubloon::iso_currencies::RUB;
396
397 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
398 struct doubloon::iso_currencies::RWF;
399
400 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
401 struct doubloon::iso_currencies::SAR;
402
403 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
404 struct doubloon::iso_currencies::SBD;
405
406 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
407 struct doubloon::iso_currencies::SCR;
408
409 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
410 struct doubloon::iso_currencies::SDG;
411
412 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
413 struct doubloon::iso_currencies::SEK;
414
415 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
416 struct doubloon::iso_currencies::SGD;
417
418 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
419 struct doubloon::iso_currencies::SHP;
420
421 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
422 struct doubloon::iso_currencies::SLE;
423
424 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
425 struct doubloon::iso_currencies::SOS;
426
427 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
428 struct doubloon::iso_currencies::SRD;
429
430 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
431 struct doubloon::iso_currencies::SSP;
432
433 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
434 struct doubloon::iso_currencies::STN;
435
436 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
437 struct doubloon::iso_currencies::SVC;
438
439 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
440 struct doubloon::iso_currencies::SYP;
441
442 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
443 struct doubloon::iso_currencies::SZL;
444
445 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
446 struct doubloon::iso_currencies::THB;
447
448 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
449 struct doubloon::iso_currencies::TJS;
450
451 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
452 struct doubloon::iso_currencies::TMT;
453
454 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
455 struct doubloon::iso_currencies::TND;
456
457 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
458 struct doubloon::iso_currencies::TOP;
459
460 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
461 struct doubloon::iso_currencies::TRY;
462
463 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
464 struct doubloon::iso_currencies::TTD;
465
466 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
467 struct doubloon::iso_currencies::TWD;
468
469 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
470 struct doubloon::iso_currencies::TZS;
471
472 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
473 struct doubloon::iso_currencies::UAH;
474
475 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
476 struct doubloon::iso_currencies::UGX;
477
478 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
479 struct doubloon::iso_currencies::USD;
480
481 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
482 struct doubloon::iso_currencies::USN;
483
484 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
485 struct doubloon::iso_currencies::UYI;
486
487 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
488 struct doubloon::iso_currencies::UYU;
489
490 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
491 struct doubloon::iso_currencies::UYW;
492
493 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
494 struct doubloon::iso_currencies::UZS;
495
496 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
497 struct doubloon::iso_currencies::VED;
498
499 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
500 struct doubloon::iso_currencies::VES;
501
502 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
503 struct doubloon::iso_currencies::VND;
504
505 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
506 struct doubloon::iso_currencies::VUV;
507
508 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
509 struct doubloon::iso_currencies::WST;
510
511 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
512 struct doubloon::iso_currencies::XAF;
513
514 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
515 struct doubloon::iso_currencies::XAG;
516
517 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
518 struct doubloon::iso_currencies::XAU;
519
520 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
521 struct doubloon::iso_currencies::XBA;
522
523 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
524 struct doubloon::iso_currencies::XBB;
525
526 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
527 struct doubloon::iso_currencies::XBC;
528
529 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
530 struct doubloon::iso_currencies::XBD;
531
532 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
533 struct doubloon::iso_currencies::XCD;
534
535 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
536 struct doubloon::iso_currencies::XDR;
537
538 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
539 struct doubloon::iso_currencies::XOF;
540
541 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
542 struct doubloon::iso_currencies::XPD;
543
544 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
545 struct doubloon::iso_currencies::XPF;
546
547 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
548 struct doubloon::iso_currencies::XPT;
549
550 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
551 struct doubloon::iso_currencies::XSU;
552
553 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
554 struct doubloon::iso_currencies::XTS;
555
556 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
557 struct doubloon::iso_currencies::XUA;
558
559 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
560 struct doubloon::iso_currencies::XXX;
561
562 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
563 struct doubloon::iso_currencies::YER;
564
565 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
566 struct doubloon::iso_currencies::ZAR;
567
568 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
569 struct doubloon::iso_currencies::ZMW;
570
571 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
572 struct doubloon::iso_currencies::ZWG;
573
574 #[async_proto(attr(cfg_attr(docsrs, doc(cfg(feature = "doubloon")))))]
575 struct doubloon::iso_currencies::ZWL;
576}