Skip to main content

doubloon/
iso_currencies.rs

1//! ISO 4217 Currency definitions, published on 2026-01-01
2//!
3//! source: <https://www.six-group.com/dam/download/financial-information/data-center/iso-currrency/lists/list-one.xml>
4
5use crate::Currency;
6
7/// Afghani
8#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
9pub struct AFN;
10impl Currency for AFN {
11    fn code(&self) -> &'static str {
12        "AFN"
13    }
14
15    fn minor_units(&self) -> u32 {
16        2
17    }
18
19    fn numeric_code(&self) -> u32 {
20        971
21    }
22}
23
24/// Euro
25#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
26pub struct EUR;
27impl Currency for EUR {
28    fn code(&self) -> &'static str {
29        "EUR"
30    }
31
32    fn minor_units(&self) -> u32 {
33        2
34    }
35
36    fn numeric_code(&self) -> u32 {
37        978
38    }
39}
40
41/// Lek
42#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
43pub struct ALL;
44impl Currency for ALL {
45    fn code(&self) -> &'static str {
46        "ALL"
47    }
48
49    fn minor_units(&self) -> u32 {
50        2
51    }
52
53    fn numeric_code(&self) -> u32 {
54        8
55    }
56}
57
58/// Algerian Dinar
59#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
60pub struct DZD;
61impl Currency for DZD {
62    fn code(&self) -> &'static str {
63        "DZD"
64    }
65
66    fn minor_units(&self) -> u32 {
67        2
68    }
69
70    fn numeric_code(&self) -> u32 {
71        12
72    }
73}
74
75/// US Dollar
76#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
77pub struct USD;
78impl Currency for USD {
79    fn code(&self) -> &'static str {
80        "USD"
81    }
82
83    fn minor_units(&self) -> u32 {
84        2
85    }
86
87    fn numeric_code(&self) -> u32 {
88        840
89    }
90}
91
92/// Kwanza
93#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
94pub struct AOA;
95impl Currency for AOA {
96    fn code(&self) -> &'static str {
97        "AOA"
98    }
99
100    fn minor_units(&self) -> u32 {
101        2
102    }
103
104    fn numeric_code(&self) -> u32 {
105        973
106    }
107}
108
109/// East Caribbean Dollar
110#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
111pub struct XCD;
112impl Currency for XCD {
113    fn code(&self) -> &'static str {
114        "XCD"
115    }
116
117    fn minor_units(&self) -> u32 {
118        2
119    }
120
121    fn numeric_code(&self) -> u32 {
122        951
123    }
124}
125
126/// Arab Accounting Dinar
127#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
128pub struct XAD;
129impl Currency for XAD {
130    fn code(&self) -> &'static str {
131        "XAD"
132    }
133
134    fn minor_units(&self) -> u32 {
135        2
136    }
137
138    fn numeric_code(&self) -> u32 {
139        396
140    }
141}
142
143/// Argentine Peso
144#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
145pub struct ARS;
146impl Currency for ARS {
147    fn code(&self) -> &'static str {
148        "ARS"
149    }
150
151    fn minor_units(&self) -> u32 {
152        2
153    }
154
155    fn numeric_code(&self) -> u32 {
156        32
157    }
158}
159
160/// Armenian Dram
161#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
162pub struct AMD;
163impl Currency for AMD {
164    fn code(&self) -> &'static str {
165        "AMD"
166    }
167
168    fn minor_units(&self) -> u32 {
169        2
170    }
171
172    fn numeric_code(&self) -> u32 {
173        51
174    }
175}
176
177/// Aruban Florin
178#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
179pub struct AWG;
180impl Currency for AWG {
181    fn code(&self) -> &'static str {
182        "AWG"
183    }
184
185    fn minor_units(&self) -> u32 {
186        2
187    }
188
189    fn numeric_code(&self) -> u32 {
190        533
191    }
192}
193
194/// Australian Dollar
195#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
196pub struct AUD;
197impl Currency for AUD {
198    fn code(&self) -> &'static str {
199        "AUD"
200    }
201
202    fn minor_units(&self) -> u32 {
203        2
204    }
205
206    fn numeric_code(&self) -> u32 {
207        36
208    }
209}
210
211/// Azerbaijan Manat
212#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
213pub struct AZN;
214impl Currency for AZN {
215    fn code(&self) -> &'static str {
216        "AZN"
217    }
218
219    fn minor_units(&self) -> u32 {
220        2
221    }
222
223    fn numeric_code(&self) -> u32 {
224        944
225    }
226}
227
228/// Bahamian Dollar
229#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
230pub struct BSD;
231impl Currency for BSD {
232    fn code(&self) -> &'static str {
233        "BSD"
234    }
235
236    fn minor_units(&self) -> u32 {
237        2
238    }
239
240    fn numeric_code(&self) -> u32 {
241        44
242    }
243}
244
245/// Bahraini Dinar
246#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
247pub struct BHD;
248impl Currency for BHD {
249    fn code(&self) -> &'static str {
250        "BHD"
251    }
252
253    fn minor_units(&self) -> u32 {
254        3
255    }
256
257    fn numeric_code(&self) -> u32 {
258        48
259    }
260}
261
262/// Taka
263#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
264pub struct BDT;
265impl Currency for BDT {
266    fn code(&self) -> &'static str {
267        "BDT"
268    }
269
270    fn minor_units(&self) -> u32 {
271        2
272    }
273
274    fn numeric_code(&self) -> u32 {
275        50
276    }
277}
278
279/// Barbados Dollar
280#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
281pub struct BBD;
282impl Currency for BBD {
283    fn code(&self) -> &'static str {
284        "BBD"
285    }
286
287    fn minor_units(&self) -> u32 {
288        2
289    }
290
291    fn numeric_code(&self) -> u32 {
292        52
293    }
294}
295
296/// Belarusian Ruble
297#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
298pub struct BYN;
299impl Currency for BYN {
300    fn code(&self) -> &'static str {
301        "BYN"
302    }
303
304    fn minor_units(&self) -> u32 {
305        2
306    }
307
308    fn numeric_code(&self) -> u32 {
309        933
310    }
311}
312
313/// Belize Dollar
314#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
315pub struct BZD;
316impl Currency for BZD {
317    fn code(&self) -> &'static str {
318        "BZD"
319    }
320
321    fn minor_units(&self) -> u32 {
322        2
323    }
324
325    fn numeric_code(&self) -> u32 {
326        84
327    }
328}
329
330/// CFA Franc BCEAO
331#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
332pub struct XOF;
333impl Currency for XOF {
334    fn code(&self) -> &'static str {
335        "XOF"
336    }
337
338    fn minor_units(&self) -> u32 {
339        0
340    }
341
342    fn numeric_code(&self) -> u32 {
343        952
344    }
345}
346
347/// Bermudian Dollar
348#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
349pub struct BMD;
350impl Currency for BMD {
351    fn code(&self) -> &'static str {
352        "BMD"
353    }
354
355    fn minor_units(&self) -> u32 {
356        2
357    }
358
359    fn numeric_code(&self) -> u32 {
360        60
361    }
362}
363
364/// Indian Rupee
365#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
366pub struct INR;
367impl Currency for INR {
368    fn code(&self) -> &'static str {
369        "INR"
370    }
371
372    fn minor_units(&self) -> u32 {
373        2
374    }
375
376    fn numeric_code(&self) -> u32 {
377        356
378    }
379}
380
381/// Ngultrum
382#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
383pub struct BTN;
384impl Currency for BTN {
385    fn code(&self) -> &'static str {
386        "BTN"
387    }
388
389    fn minor_units(&self) -> u32 {
390        2
391    }
392
393    fn numeric_code(&self) -> u32 {
394        64
395    }
396}
397
398/// Boliviano
399#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
400pub struct BOB;
401impl Currency for BOB {
402    fn code(&self) -> &'static str {
403        "BOB"
404    }
405
406    fn minor_units(&self) -> u32 {
407        2
408    }
409
410    fn numeric_code(&self) -> u32 {
411        68
412    }
413}
414
415/// Mvdol
416#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
417pub struct BOV;
418impl Currency for BOV {
419    fn code(&self) -> &'static str {
420        "BOV"
421    }
422
423    fn minor_units(&self) -> u32 {
424        2
425    }
426
427    fn numeric_code(&self) -> u32 {
428        984
429    }
430}
431
432/// Convertible Mark
433#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
434pub struct BAM;
435impl Currency for BAM {
436    fn code(&self) -> &'static str {
437        "BAM"
438    }
439
440    fn minor_units(&self) -> u32 {
441        2
442    }
443
444    fn numeric_code(&self) -> u32 {
445        977
446    }
447}
448
449/// Pula
450#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
451pub struct BWP;
452impl Currency for BWP {
453    fn code(&self) -> &'static str {
454        "BWP"
455    }
456
457    fn minor_units(&self) -> u32 {
458        2
459    }
460
461    fn numeric_code(&self) -> u32 {
462        72
463    }
464}
465
466/// Norwegian Krone
467#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
468pub struct NOK;
469impl Currency for NOK {
470    fn code(&self) -> &'static str {
471        "NOK"
472    }
473
474    fn minor_units(&self) -> u32 {
475        2
476    }
477
478    fn numeric_code(&self) -> u32 {
479        578
480    }
481}
482
483/// Brazilian Real
484#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
485pub struct BRL;
486impl Currency for BRL {
487    fn code(&self) -> &'static str {
488        "BRL"
489    }
490
491    fn minor_units(&self) -> u32 {
492        2
493    }
494
495    fn numeric_code(&self) -> u32 {
496        986
497    }
498}
499
500/// Brunei Dollar
501#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
502pub struct BND;
503impl Currency for BND {
504    fn code(&self) -> &'static str {
505        "BND"
506    }
507
508    fn minor_units(&self) -> u32 {
509        2
510    }
511
512    fn numeric_code(&self) -> u32 {
513        96
514    }
515}
516
517/// Burundi Franc
518#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
519pub struct BIF;
520impl Currency for BIF {
521    fn code(&self) -> &'static str {
522        "BIF"
523    }
524
525    fn minor_units(&self) -> u32 {
526        0
527    }
528
529    fn numeric_code(&self) -> u32 {
530        108
531    }
532}
533
534/// Cabo Verde Escudo
535#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
536pub struct CVE;
537impl Currency for CVE {
538    fn code(&self) -> &'static str {
539        "CVE"
540    }
541
542    fn minor_units(&self) -> u32 {
543        2
544    }
545
546    fn numeric_code(&self) -> u32 {
547        132
548    }
549}
550
551/// Riel
552#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
553pub struct KHR;
554impl Currency for KHR {
555    fn code(&self) -> &'static str {
556        "KHR"
557    }
558
559    fn minor_units(&self) -> u32 {
560        2
561    }
562
563    fn numeric_code(&self) -> u32 {
564        116
565    }
566}
567
568/// CFA Franc BEAC
569#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
570pub struct XAF;
571impl Currency for XAF {
572    fn code(&self) -> &'static str {
573        "XAF"
574    }
575
576    fn minor_units(&self) -> u32 {
577        0
578    }
579
580    fn numeric_code(&self) -> u32 {
581        950
582    }
583}
584
585/// Canadian Dollar
586#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
587pub struct CAD;
588impl Currency for CAD {
589    fn code(&self) -> &'static str {
590        "CAD"
591    }
592
593    fn minor_units(&self) -> u32 {
594        2
595    }
596
597    fn numeric_code(&self) -> u32 {
598        124
599    }
600}
601
602/// Cayman Islands Dollar
603#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
604pub struct KYD;
605impl Currency for KYD {
606    fn code(&self) -> &'static str {
607        "KYD"
608    }
609
610    fn minor_units(&self) -> u32 {
611        2
612    }
613
614    fn numeric_code(&self) -> u32 {
615        136
616    }
617}
618
619/// Chilean Peso
620#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
621pub struct CLP;
622impl Currency for CLP {
623    fn code(&self) -> &'static str {
624        "CLP"
625    }
626
627    fn minor_units(&self) -> u32 {
628        0
629    }
630
631    fn numeric_code(&self) -> u32 {
632        152
633    }
634}
635
636/// Unidad de Fomento
637#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
638pub struct CLF;
639impl Currency for CLF {
640    fn code(&self) -> &'static str {
641        "CLF"
642    }
643
644    fn minor_units(&self) -> u32 {
645        4
646    }
647
648    fn numeric_code(&self) -> u32 {
649        990
650    }
651}
652
653/// Yuan Renminbi
654#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
655pub struct CNY;
656impl Currency for CNY {
657    fn code(&self) -> &'static str {
658        "CNY"
659    }
660
661    fn minor_units(&self) -> u32 {
662        2
663    }
664
665    fn numeric_code(&self) -> u32 {
666        156
667    }
668}
669
670/// Colombian Peso
671#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
672pub struct COP;
673impl Currency for COP {
674    fn code(&self) -> &'static str {
675        "COP"
676    }
677
678    fn minor_units(&self) -> u32 {
679        2
680    }
681
682    fn numeric_code(&self) -> u32 {
683        170
684    }
685}
686
687/// Unidad de Valor Real
688#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
689pub struct COU;
690impl Currency for COU {
691    fn code(&self) -> &'static str {
692        "COU"
693    }
694
695    fn minor_units(&self) -> u32 {
696        2
697    }
698
699    fn numeric_code(&self) -> u32 {
700        970
701    }
702}
703
704/// Comorian Franc
705#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
706pub struct KMF;
707impl Currency for KMF {
708    fn code(&self) -> &'static str {
709        "KMF"
710    }
711
712    fn minor_units(&self) -> u32 {
713        0
714    }
715
716    fn numeric_code(&self) -> u32 {
717        174
718    }
719}
720
721/// Congolese Franc
722#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
723pub struct CDF;
724impl Currency for CDF {
725    fn code(&self) -> &'static str {
726        "CDF"
727    }
728
729    fn minor_units(&self) -> u32 {
730        2
731    }
732
733    fn numeric_code(&self) -> u32 {
734        976
735    }
736}
737
738/// New Zealand Dollar
739#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
740pub struct NZD;
741impl Currency for NZD {
742    fn code(&self) -> &'static str {
743        "NZD"
744    }
745
746    fn minor_units(&self) -> u32 {
747        2
748    }
749
750    fn numeric_code(&self) -> u32 {
751        554
752    }
753}
754
755/// Costa Rican Colon
756#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
757pub struct CRC;
758impl Currency for CRC {
759    fn code(&self) -> &'static str {
760        "CRC"
761    }
762
763    fn minor_units(&self) -> u32 {
764        2
765    }
766
767    fn numeric_code(&self) -> u32 {
768        188
769    }
770}
771
772/// Cuban Peso
773#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
774pub struct CUP;
775impl Currency for CUP {
776    fn code(&self) -> &'static str {
777        "CUP"
778    }
779
780    fn minor_units(&self) -> u32 {
781        2
782    }
783
784    fn numeric_code(&self) -> u32 {
785        192
786    }
787}
788
789/// Caribbean Guilder
790#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
791pub struct XCG;
792impl Currency for XCG {
793    fn code(&self) -> &'static str {
794        "XCG"
795    }
796
797    fn minor_units(&self) -> u32 {
798        2
799    }
800
801    fn numeric_code(&self) -> u32 {
802        532
803    }
804}
805
806/// Czech Koruna
807#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
808pub struct CZK;
809impl Currency for CZK {
810    fn code(&self) -> &'static str {
811        "CZK"
812    }
813
814    fn minor_units(&self) -> u32 {
815        2
816    }
817
818    fn numeric_code(&self) -> u32 {
819        203
820    }
821}
822
823/// Danish Krone
824#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
825pub struct DKK;
826impl Currency for DKK {
827    fn code(&self) -> &'static str {
828        "DKK"
829    }
830
831    fn minor_units(&self) -> u32 {
832        2
833    }
834
835    fn numeric_code(&self) -> u32 {
836        208
837    }
838}
839
840/// Djibouti Franc
841#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
842pub struct DJF;
843impl Currency for DJF {
844    fn code(&self) -> &'static str {
845        "DJF"
846    }
847
848    fn minor_units(&self) -> u32 {
849        0
850    }
851
852    fn numeric_code(&self) -> u32 {
853        262
854    }
855}
856
857/// Dominican Peso
858#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
859pub struct DOP;
860impl Currency for DOP {
861    fn code(&self) -> &'static str {
862        "DOP"
863    }
864
865    fn minor_units(&self) -> u32 {
866        2
867    }
868
869    fn numeric_code(&self) -> u32 {
870        214
871    }
872}
873
874/// Egyptian Pound
875#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
876pub struct EGP;
877impl Currency for EGP {
878    fn code(&self) -> &'static str {
879        "EGP"
880    }
881
882    fn minor_units(&self) -> u32 {
883        2
884    }
885
886    fn numeric_code(&self) -> u32 {
887        818
888    }
889}
890
891/// El Salvador Colon
892#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
893pub struct SVC;
894impl Currency for SVC {
895    fn code(&self) -> &'static str {
896        "SVC"
897    }
898
899    fn minor_units(&self) -> u32 {
900        2
901    }
902
903    fn numeric_code(&self) -> u32 {
904        222
905    }
906}
907
908/// Nakfa
909#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
910pub struct ERN;
911impl Currency for ERN {
912    fn code(&self) -> &'static str {
913        "ERN"
914    }
915
916    fn minor_units(&self) -> u32 {
917        2
918    }
919
920    fn numeric_code(&self) -> u32 {
921        232
922    }
923}
924
925/// Lilangeni
926#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
927pub struct SZL;
928impl Currency for SZL {
929    fn code(&self) -> &'static str {
930        "SZL"
931    }
932
933    fn minor_units(&self) -> u32 {
934        2
935    }
936
937    fn numeric_code(&self) -> u32 {
938        748
939    }
940}
941
942/// Ethiopian Birr
943#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
944pub struct ETB;
945impl Currency for ETB {
946    fn code(&self) -> &'static str {
947        "ETB"
948    }
949
950    fn minor_units(&self) -> u32 {
951        2
952    }
953
954    fn numeric_code(&self) -> u32 {
955        230
956    }
957}
958
959/// Falkland Islands Pound
960#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
961pub struct FKP;
962impl Currency for FKP {
963    fn code(&self) -> &'static str {
964        "FKP"
965    }
966
967    fn minor_units(&self) -> u32 {
968        2
969    }
970
971    fn numeric_code(&self) -> u32 {
972        238
973    }
974}
975
976/// Fiji Dollar
977#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
978pub struct FJD;
979impl Currency for FJD {
980    fn code(&self) -> &'static str {
981        "FJD"
982    }
983
984    fn minor_units(&self) -> u32 {
985        2
986    }
987
988    fn numeric_code(&self) -> u32 {
989        242
990    }
991}
992
993/// CFP Franc
994#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
995pub struct XPF;
996impl Currency for XPF {
997    fn code(&self) -> &'static str {
998        "XPF"
999    }
1000
1001    fn minor_units(&self) -> u32 {
1002        0
1003    }
1004
1005    fn numeric_code(&self) -> u32 {
1006        953
1007    }
1008}
1009
1010/// Dalasi
1011#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1012pub struct GMD;
1013impl Currency for GMD {
1014    fn code(&self) -> &'static str {
1015        "GMD"
1016    }
1017
1018    fn minor_units(&self) -> u32 {
1019        2
1020    }
1021
1022    fn numeric_code(&self) -> u32 {
1023        270
1024    }
1025}
1026
1027/// Lari
1028#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1029pub struct GEL;
1030impl Currency for GEL {
1031    fn code(&self) -> &'static str {
1032        "GEL"
1033    }
1034
1035    fn minor_units(&self) -> u32 {
1036        2
1037    }
1038
1039    fn numeric_code(&self) -> u32 {
1040        981
1041    }
1042}
1043
1044/// Ghana Cedi
1045#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1046pub struct GHS;
1047impl Currency for GHS {
1048    fn code(&self) -> &'static str {
1049        "GHS"
1050    }
1051
1052    fn minor_units(&self) -> u32 {
1053        2
1054    }
1055
1056    fn numeric_code(&self) -> u32 {
1057        936
1058    }
1059}
1060
1061/// Gibraltar Pound
1062#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1063pub struct GIP;
1064impl Currency for GIP {
1065    fn code(&self) -> &'static str {
1066        "GIP"
1067    }
1068
1069    fn minor_units(&self) -> u32 {
1070        2
1071    }
1072
1073    fn numeric_code(&self) -> u32 {
1074        292
1075    }
1076}
1077
1078/// Quetzal
1079#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1080pub struct GTQ;
1081impl Currency for GTQ {
1082    fn code(&self) -> &'static str {
1083        "GTQ"
1084    }
1085
1086    fn minor_units(&self) -> u32 {
1087        2
1088    }
1089
1090    fn numeric_code(&self) -> u32 {
1091        320
1092    }
1093}
1094
1095/// Pound Sterling
1096#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1097pub struct GBP;
1098impl Currency for GBP {
1099    fn code(&self) -> &'static str {
1100        "GBP"
1101    }
1102
1103    fn minor_units(&self) -> u32 {
1104        2
1105    }
1106
1107    fn numeric_code(&self) -> u32 {
1108        826
1109    }
1110}
1111
1112/// Guinean Franc
1113#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1114pub struct GNF;
1115impl Currency for GNF {
1116    fn code(&self) -> &'static str {
1117        "GNF"
1118    }
1119
1120    fn minor_units(&self) -> u32 {
1121        0
1122    }
1123
1124    fn numeric_code(&self) -> u32 {
1125        324
1126    }
1127}
1128
1129/// Guyana Dollar
1130#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1131pub struct GYD;
1132impl Currency for GYD {
1133    fn code(&self) -> &'static str {
1134        "GYD"
1135    }
1136
1137    fn minor_units(&self) -> u32 {
1138        2
1139    }
1140
1141    fn numeric_code(&self) -> u32 {
1142        328
1143    }
1144}
1145
1146/// Gourde
1147#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1148pub struct HTG;
1149impl Currency for HTG {
1150    fn code(&self) -> &'static str {
1151        "HTG"
1152    }
1153
1154    fn minor_units(&self) -> u32 {
1155        2
1156    }
1157
1158    fn numeric_code(&self) -> u32 {
1159        332
1160    }
1161}
1162
1163/// Lempira
1164#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1165pub struct HNL;
1166impl Currency for HNL {
1167    fn code(&self) -> &'static str {
1168        "HNL"
1169    }
1170
1171    fn minor_units(&self) -> u32 {
1172        2
1173    }
1174
1175    fn numeric_code(&self) -> u32 {
1176        340
1177    }
1178}
1179
1180/// Hong Kong Dollar
1181#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1182pub struct HKD;
1183impl Currency for HKD {
1184    fn code(&self) -> &'static str {
1185        "HKD"
1186    }
1187
1188    fn minor_units(&self) -> u32 {
1189        2
1190    }
1191
1192    fn numeric_code(&self) -> u32 {
1193        344
1194    }
1195}
1196
1197/// Forint
1198#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1199pub struct HUF;
1200impl Currency for HUF {
1201    fn code(&self) -> &'static str {
1202        "HUF"
1203    }
1204
1205    fn minor_units(&self) -> u32 {
1206        2
1207    }
1208
1209    fn numeric_code(&self) -> u32 {
1210        348
1211    }
1212}
1213
1214/// Iceland Krona
1215#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1216pub struct ISK;
1217impl Currency for ISK {
1218    fn code(&self) -> &'static str {
1219        "ISK"
1220    }
1221
1222    fn minor_units(&self) -> u32 {
1223        0
1224    }
1225
1226    fn numeric_code(&self) -> u32 {
1227        352
1228    }
1229}
1230
1231/// Rupiah
1232#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1233pub struct IDR;
1234impl Currency for IDR {
1235    fn code(&self) -> &'static str {
1236        "IDR"
1237    }
1238
1239    fn minor_units(&self) -> u32 {
1240        2
1241    }
1242
1243    fn numeric_code(&self) -> u32 {
1244        360
1245    }
1246}
1247
1248/// SDR (Special Drawing Right)
1249#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1250pub struct XDR;
1251impl Currency for XDR {
1252    fn code(&self) -> &'static str {
1253        "XDR"
1254    }
1255
1256    fn minor_units(&self) -> u32 {
1257        0
1258    }
1259
1260    fn numeric_code(&self) -> u32 {
1261        960
1262    }
1263}
1264
1265/// Iranian Rial
1266#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1267pub struct IRR;
1268impl Currency for IRR {
1269    fn code(&self) -> &'static str {
1270        "IRR"
1271    }
1272
1273    fn minor_units(&self) -> u32 {
1274        2
1275    }
1276
1277    fn numeric_code(&self) -> u32 {
1278        364
1279    }
1280}
1281
1282/// Iraqi Dinar
1283#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1284pub struct IQD;
1285impl Currency for IQD {
1286    fn code(&self) -> &'static str {
1287        "IQD"
1288    }
1289
1290    fn minor_units(&self) -> u32 {
1291        3
1292    }
1293
1294    fn numeric_code(&self) -> u32 {
1295        368
1296    }
1297}
1298
1299/// New Israeli Sheqel
1300#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1301pub struct ILS;
1302impl Currency for ILS {
1303    fn code(&self) -> &'static str {
1304        "ILS"
1305    }
1306
1307    fn minor_units(&self) -> u32 {
1308        2
1309    }
1310
1311    fn numeric_code(&self) -> u32 {
1312        376
1313    }
1314}
1315
1316/// Jamaican Dollar
1317#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1318pub struct JMD;
1319impl Currency for JMD {
1320    fn code(&self) -> &'static str {
1321        "JMD"
1322    }
1323
1324    fn minor_units(&self) -> u32 {
1325        2
1326    }
1327
1328    fn numeric_code(&self) -> u32 {
1329        388
1330    }
1331}
1332
1333/// Yen
1334#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1335pub struct JPY;
1336impl Currency for JPY {
1337    fn code(&self) -> &'static str {
1338        "JPY"
1339    }
1340
1341    fn minor_units(&self) -> u32 {
1342        0
1343    }
1344
1345    fn numeric_code(&self) -> u32 {
1346        392
1347    }
1348}
1349
1350/// Jordanian Dinar
1351#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1352pub struct JOD;
1353impl Currency for JOD {
1354    fn code(&self) -> &'static str {
1355        "JOD"
1356    }
1357
1358    fn minor_units(&self) -> u32 {
1359        3
1360    }
1361
1362    fn numeric_code(&self) -> u32 {
1363        400
1364    }
1365}
1366
1367/// Tenge
1368#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1369pub struct KZT;
1370impl Currency for KZT {
1371    fn code(&self) -> &'static str {
1372        "KZT"
1373    }
1374
1375    fn minor_units(&self) -> u32 {
1376        2
1377    }
1378
1379    fn numeric_code(&self) -> u32 {
1380        398
1381    }
1382}
1383
1384/// Kenyan Shilling
1385#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1386pub struct KES;
1387impl Currency for KES {
1388    fn code(&self) -> &'static str {
1389        "KES"
1390    }
1391
1392    fn minor_units(&self) -> u32 {
1393        2
1394    }
1395
1396    fn numeric_code(&self) -> u32 {
1397        404
1398    }
1399}
1400
1401/// North Korean Won
1402#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1403pub struct KPW;
1404impl Currency for KPW {
1405    fn code(&self) -> &'static str {
1406        "KPW"
1407    }
1408
1409    fn minor_units(&self) -> u32 {
1410        2
1411    }
1412
1413    fn numeric_code(&self) -> u32 {
1414        408
1415    }
1416}
1417
1418/// Won
1419#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1420pub struct KRW;
1421impl Currency for KRW {
1422    fn code(&self) -> &'static str {
1423        "KRW"
1424    }
1425
1426    fn minor_units(&self) -> u32 {
1427        0
1428    }
1429
1430    fn numeric_code(&self) -> u32 {
1431        410
1432    }
1433}
1434
1435/// Kuwaiti Dinar
1436#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1437pub struct KWD;
1438impl Currency for KWD {
1439    fn code(&self) -> &'static str {
1440        "KWD"
1441    }
1442
1443    fn minor_units(&self) -> u32 {
1444        3
1445    }
1446
1447    fn numeric_code(&self) -> u32 {
1448        414
1449    }
1450}
1451
1452/// Som
1453#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1454pub struct KGS;
1455impl Currency for KGS {
1456    fn code(&self) -> &'static str {
1457        "KGS"
1458    }
1459
1460    fn minor_units(&self) -> u32 {
1461        2
1462    }
1463
1464    fn numeric_code(&self) -> u32 {
1465        417
1466    }
1467}
1468
1469/// Lao Kip
1470#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1471pub struct LAK;
1472impl Currency for LAK {
1473    fn code(&self) -> &'static str {
1474        "LAK"
1475    }
1476
1477    fn minor_units(&self) -> u32 {
1478        2
1479    }
1480
1481    fn numeric_code(&self) -> u32 {
1482        418
1483    }
1484}
1485
1486/// Lebanese Pound
1487#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1488pub struct LBP;
1489impl Currency for LBP {
1490    fn code(&self) -> &'static str {
1491        "LBP"
1492    }
1493
1494    fn minor_units(&self) -> u32 {
1495        2
1496    }
1497
1498    fn numeric_code(&self) -> u32 {
1499        422
1500    }
1501}
1502
1503/// Loti
1504#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1505pub struct LSL;
1506impl Currency for LSL {
1507    fn code(&self) -> &'static str {
1508        "LSL"
1509    }
1510
1511    fn minor_units(&self) -> u32 {
1512        2
1513    }
1514
1515    fn numeric_code(&self) -> u32 {
1516        426
1517    }
1518}
1519
1520/// Rand
1521#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1522pub struct ZAR;
1523impl Currency for ZAR {
1524    fn code(&self) -> &'static str {
1525        "ZAR"
1526    }
1527
1528    fn minor_units(&self) -> u32 {
1529        2
1530    }
1531
1532    fn numeric_code(&self) -> u32 {
1533        710
1534    }
1535}
1536
1537/// Liberian Dollar
1538#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1539pub struct LRD;
1540impl Currency for LRD {
1541    fn code(&self) -> &'static str {
1542        "LRD"
1543    }
1544
1545    fn minor_units(&self) -> u32 {
1546        2
1547    }
1548
1549    fn numeric_code(&self) -> u32 {
1550        430
1551    }
1552}
1553
1554/// Libyan Dinar
1555#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1556pub struct LYD;
1557impl Currency for LYD {
1558    fn code(&self) -> &'static str {
1559        "LYD"
1560    }
1561
1562    fn minor_units(&self) -> u32 {
1563        3
1564    }
1565
1566    fn numeric_code(&self) -> u32 {
1567        434
1568    }
1569}
1570
1571/// Swiss Franc
1572#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1573pub struct CHF;
1574impl Currency for CHF {
1575    fn code(&self) -> &'static str {
1576        "CHF"
1577    }
1578
1579    fn minor_units(&self) -> u32 {
1580        2
1581    }
1582
1583    fn numeric_code(&self) -> u32 {
1584        756
1585    }
1586}
1587
1588/// Pataca
1589#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1590pub struct MOP;
1591impl Currency for MOP {
1592    fn code(&self) -> &'static str {
1593        "MOP"
1594    }
1595
1596    fn minor_units(&self) -> u32 {
1597        2
1598    }
1599
1600    fn numeric_code(&self) -> u32 {
1601        446
1602    }
1603}
1604
1605/// Denar
1606#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1607pub struct MKD;
1608impl Currency for MKD {
1609    fn code(&self) -> &'static str {
1610        "MKD"
1611    }
1612
1613    fn minor_units(&self) -> u32 {
1614        2
1615    }
1616
1617    fn numeric_code(&self) -> u32 {
1618        807
1619    }
1620}
1621
1622/// Malagasy Ariary
1623#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1624pub struct MGA;
1625impl Currency for MGA {
1626    fn code(&self) -> &'static str {
1627        "MGA"
1628    }
1629
1630    fn minor_units(&self) -> u32 {
1631        2
1632    }
1633
1634    fn numeric_code(&self) -> u32 {
1635        969
1636    }
1637}
1638
1639/// Malawi Kwacha
1640#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1641pub struct MWK;
1642impl Currency for MWK {
1643    fn code(&self) -> &'static str {
1644        "MWK"
1645    }
1646
1647    fn minor_units(&self) -> u32 {
1648        2
1649    }
1650
1651    fn numeric_code(&self) -> u32 {
1652        454
1653    }
1654}
1655
1656/// Malaysian Ringgit
1657#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1658pub struct MYR;
1659impl Currency for MYR {
1660    fn code(&self) -> &'static str {
1661        "MYR"
1662    }
1663
1664    fn minor_units(&self) -> u32 {
1665        2
1666    }
1667
1668    fn numeric_code(&self) -> u32 {
1669        458
1670    }
1671}
1672
1673/// Rufiyaa
1674#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1675pub struct MVR;
1676impl Currency for MVR {
1677    fn code(&self) -> &'static str {
1678        "MVR"
1679    }
1680
1681    fn minor_units(&self) -> u32 {
1682        2
1683    }
1684
1685    fn numeric_code(&self) -> u32 {
1686        462
1687    }
1688}
1689
1690/// Ouguiya
1691#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1692pub struct MRU;
1693impl Currency for MRU {
1694    fn code(&self) -> &'static str {
1695        "MRU"
1696    }
1697
1698    fn minor_units(&self) -> u32 {
1699        2
1700    }
1701
1702    fn numeric_code(&self) -> u32 {
1703        929
1704    }
1705}
1706
1707/// Mauritius Rupee
1708#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1709pub struct MUR;
1710impl Currency for MUR {
1711    fn code(&self) -> &'static str {
1712        "MUR"
1713    }
1714
1715    fn minor_units(&self) -> u32 {
1716        2
1717    }
1718
1719    fn numeric_code(&self) -> u32 {
1720        480
1721    }
1722}
1723
1724/// ADB Unit of Account
1725#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1726pub struct XUA;
1727impl Currency for XUA {
1728    fn code(&self) -> &'static str {
1729        "XUA"
1730    }
1731
1732    fn minor_units(&self) -> u32 {
1733        0
1734    }
1735
1736    fn numeric_code(&self) -> u32 {
1737        965
1738    }
1739}
1740
1741/// Mexican Peso
1742#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1743pub struct MXN;
1744impl Currency for MXN {
1745    fn code(&self) -> &'static str {
1746        "MXN"
1747    }
1748
1749    fn minor_units(&self) -> u32 {
1750        2
1751    }
1752
1753    fn numeric_code(&self) -> u32 {
1754        484
1755    }
1756}
1757
1758/// Mexican Unidad de Inversion (UDI)
1759#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1760pub struct MXV;
1761impl Currency for MXV {
1762    fn code(&self) -> &'static str {
1763        "MXV"
1764    }
1765
1766    fn minor_units(&self) -> u32 {
1767        2
1768    }
1769
1770    fn numeric_code(&self) -> u32 {
1771        979
1772    }
1773}
1774
1775/// Moldovan Leu
1776#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1777pub struct MDL;
1778impl Currency for MDL {
1779    fn code(&self) -> &'static str {
1780        "MDL"
1781    }
1782
1783    fn minor_units(&self) -> u32 {
1784        2
1785    }
1786
1787    fn numeric_code(&self) -> u32 {
1788        498
1789    }
1790}
1791
1792/// Tugrik
1793#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1794pub struct MNT;
1795impl Currency for MNT {
1796    fn code(&self) -> &'static str {
1797        "MNT"
1798    }
1799
1800    fn minor_units(&self) -> u32 {
1801        2
1802    }
1803
1804    fn numeric_code(&self) -> u32 {
1805        496
1806    }
1807}
1808
1809/// Moroccan Dirham
1810#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1811pub struct MAD;
1812impl Currency for MAD {
1813    fn code(&self) -> &'static str {
1814        "MAD"
1815    }
1816
1817    fn minor_units(&self) -> u32 {
1818        2
1819    }
1820
1821    fn numeric_code(&self) -> u32 {
1822        504
1823    }
1824}
1825
1826/// Mozambique Metical
1827#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1828pub struct MZN;
1829impl Currency for MZN {
1830    fn code(&self) -> &'static str {
1831        "MZN"
1832    }
1833
1834    fn minor_units(&self) -> u32 {
1835        2
1836    }
1837
1838    fn numeric_code(&self) -> u32 {
1839        943
1840    }
1841}
1842
1843/// Kyat
1844#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1845pub struct MMK;
1846impl Currency for MMK {
1847    fn code(&self) -> &'static str {
1848        "MMK"
1849    }
1850
1851    fn minor_units(&self) -> u32 {
1852        2
1853    }
1854
1855    fn numeric_code(&self) -> u32 {
1856        104
1857    }
1858}
1859
1860/// Namibia Dollar
1861#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1862pub struct NAD;
1863impl Currency for NAD {
1864    fn code(&self) -> &'static str {
1865        "NAD"
1866    }
1867
1868    fn minor_units(&self) -> u32 {
1869        2
1870    }
1871
1872    fn numeric_code(&self) -> u32 {
1873        516
1874    }
1875}
1876
1877/// Nepalese Rupee
1878#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1879pub struct NPR;
1880impl Currency for NPR {
1881    fn code(&self) -> &'static str {
1882        "NPR"
1883    }
1884
1885    fn minor_units(&self) -> u32 {
1886        2
1887    }
1888
1889    fn numeric_code(&self) -> u32 {
1890        524
1891    }
1892}
1893
1894/// Cordoba Oro
1895#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1896pub struct NIO;
1897impl Currency for NIO {
1898    fn code(&self) -> &'static str {
1899        "NIO"
1900    }
1901
1902    fn minor_units(&self) -> u32 {
1903        2
1904    }
1905
1906    fn numeric_code(&self) -> u32 {
1907        558
1908    }
1909}
1910
1911/// Naira
1912#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1913pub struct NGN;
1914impl Currency for NGN {
1915    fn code(&self) -> &'static str {
1916        "NGN"
1917    }
1918
1919    fn minor_units(&self) -> u32 {
1920        2
1921    }
1922
1923    fn numeric_code(&self) -> u32 {
1924        566
1925    }
1926}
1927
1928/// Rial Omani
1929#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1930pub struct OMR;
1931impl Currency for OMR {
1932    fn code(&self) -> &'static str {
1933        "OMR"
1934    }
1935
1936    fn minor_units(&self) -> u32 {
1937        3
1938    }
1939
1940    fn numeric_code(&self) -> u32 {
1941        512
1942    }
1943}
1944
1945/// Pakistan Rupee
1946#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1947pub struct PKR;
1948impl Currency for PKR {
1949    fn code(&self) -> &'static str {
1950        "PKR"
1951    }
1952
1953    fn minor_units(&self) -> u32 {
1954        2
1955    }
1956
1957    fn numeric_code(&self) -> u32 {
1958        586
1959    }
1960}
1961
1962/// Balboa
1963#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1964pub struct PAB;
1965impl Currency for PAB {
1966    fn code(&self) -> &'static str {
1967        "PAB"
1968    }
1969
1970    fn minor_units(&self) -> u32 {
1971        2
1972    }
1973
1974    fn numeric_code(&self) -> u32 {
1975        590
1976    }
1977}
1978
1979/// Kina
1980#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1981pub struct PGK;
1982impl Currency for PGK {
1983    fn code(&self) -> &'static str {
1984        "PGK"
1985    }
1986
1987    fn minor_units(&self) -> u32 {
1988        2
1989    }
1990
1991    fn numeric_code(&self) -> u32 {
1992        598
1993    }
1994}
1995
1996/// Guarani
1997#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
1998pub struct PYG;
1999impl Currency for PYG {
2000    fn code(&self) -> &'static str {
2001        "PYG"
2002    }
2003
2004    fn minor_units(&self) -> u32 {
2005        0
2006    }
2007
2008    fn numeric_code(&self) -> u32 {
2009        600
2010    }
2011}
2012
2013/// Sol
2014#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2015pub struct PEN;
2016impl Currency for PEN {
2017    fn code(&self) -> &'static str {
2018        "PEN"
2019    }
2020
2021    fn minor_units(&self) -> u32 {
2022        2
2023    }
2024
2025    fn numeric_code(&self) -> u32 {
2026        604
2027    }
2028}
2029
2030/// Philippine Peso
2031#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2032pub struct PHP;
2033impl Currency for PHP {
2034    fn code(&self) -> &'static str {
2035        "PHP"
2036    }
2037
2038    fn minor_units(&self) -> u32 {
2039        2
2040    }
2041
2042    fn numeric_code(&self) -> u32 {
2043        608
2044    }
2045}
2046
2047/// Zloty
2048#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2049pub struct PLN;
2050impl Currency for PLN {
2051    fn code(&self) -> &'static str {
2052        "PLN"
2053    }
2054
2055    fn minor_units(&self) -> u32 {
2056        2
2057    }
2058
2059    fn numeric_code(&self) -> u32 {
2060        985
2061    }
2062}
2063
2064/// Qatari Rial
2065#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2066pub struct QAR;
2067impl Currency for QAR {
2068    fn code(&self) -> &'static str {
2069        "QAR"
2070    }
2071
2072    fn minor_units(&self) -> u32 {
2073        2
2074    }
2075
2076    fn numeric_code(&self) -> u32 {
2077        634
2078    }
2079}
2080
2081/// Romanian Leu
2082#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2083pub struct RON;
2084impl Currency for RON {
2085    fn code(&self) -> &'static str {
2086        "RON"
2087    }
2088
2089    fn minor_units(&self) -> u32 {
2090        2
2091    }
2092
2093    fn numeric_code(&self) -> u32 {
2094        946
2095    }
2096}
2097
2098/// Russian Ruble
2099#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2100pub struct RUB;
2101impl Currency for RUB {
2102    fn code(&self) -> &'static str {
2103        "RUB"
2104    }
2105
2106    fn minor_units(&self) -> u32 {
2107        2
2108    }
2109
2110    fn numeric_code(&self) -> u32 {
2111        643
2112    }
2113}
2114
2115/// Rwanda Franc
2116#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2117pub struct RWF;
2118impl Currency for RWF {
2119    fn code(&self) -> &'static str {
2120        "RWF"
2121    }
2122
2123    fn minor_units(&self) -> u32 {
2124        0
2125    }
2126
2127    fn numeric_code(&self) -> u32 {
2128        646
2129    }
2130}
2131
2132/// Saint Helena Pound
2133#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2134pub struct SHP;
2135impl Currency for SHP {
2136    fn code(&self) -> &'static str {
2137        "SHP"
2138    }
2139
2140    fn minor_units(&self) -> u32 {
2141        2
2142    }
2143
2144    fn numeric_code(&self) -> u32 {
2145        654
2146    }
2147}
2148
2149/// Tala
2150#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2151pub struct WST;
2152impl Currency for WST {
2153    fn code(&self) -> &'static str {
2154        "WST"
2155    }
2156
2157    fn minor_units(&self) -> u32 {
2158        2
2159    }
2160
2161    fn numeric_code(&self) -> u32 {
2162        882
2163    }
2164}
2165
2166/// Dobra
2167#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2168pub struct STN;
2169impl Currency for STN {
2170    fn code(&self) -> &'static str {
2171        "STN"
2172    }
2173
2174    fn minor_units(&self) -> u32 {
2175        2
2176    }
2177
2178    fn numeric_code(&self) -> u32 {
2179        930
2180    }
2181}
2182
2183/// Saudi Riyal
2184#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2185pub struct SAR;
2186impl Currency for SAR {
2187    fn code(&self) -> &'static str {
2188        "SAR"
2189    }
2190
2191    fn minor_units(&self) -> u32 {
2192        2
2193    }
2194
2195    fn numeric_code(&self) -> u32 {
2196        682
2197    }
2198}
2199
2200/// Serbian Dinar
2201#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2202pub struct RSD;
2203impl Currency for RSD {
2204    fn code(&self) -> &'static str {
2205        "RSD"
2206    }
2207
2208    fn minor_units(&self) -> u32 {
2209        2
2210    }
2211
2212    fn numeric_code(&self) -> u32 {
2213        941
2214    }
2215}
2216
2217/// Seychelles Rupee
2218#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2219pub struct SCR;
2220impl Currency for SCR {
2221    fn code(&self) -> &'static str {
2222        "SCR"
2223    }
2224
2225    fn minor_units(&self) -> u32 {
2226        2
2227    }
2228
2229    fn numeric_code(&self) -> u32 {
2230        690
2231    }
2232}
2233
2234/// Leone
2235#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2236pub struct SLE;
2237impl Currency for SLE {
2238    fn code(&self) -> &'static str {
2239        "SLE"
2240    }
2241
2242    fn minor_units(&self) -> u32 {
2243        2
2244    }
2245
2246    fn numeric_code(&self) -> u32 {
2247        925
2248    }
2249}
2250
2251/// Singapore Dollar
2252#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2253pub struct SGD;
2254impl Currency for SGD {
2255    fn code(&self) -> &'static str {
2256        "SGD"
2257    }
2258
2259    fn minor_units(&self) -> u32 {
2260        2
2261    }
2262
2263    fn numeric_code(&self) -> u32 {
2264        702
2265    }
2266}
2267
2268/// Sucre
2269#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2270pub struct XSU;
2271impl Currency for XSU {
2272    fn code(&self) -> &'static str {
2273        "XSU"
2274    }
2275
2276    fn minor_units(&self) -> u32 {
2277        0
2278    }
2279
2280    fn numeric_code(&self) -> u32 {
2281        994
2282    }
2283}
2284
2285/// Solomon Islands Dollar
2286#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2287pub struct SBD;
2288impl Currency for SBD {
2289    fn code(&self) -> &'static str {
2290        "SBD"
2291    }
2292
2293    fn minor_units(&self) -> u32 {
2294        2
2295    }
2296
2297    fn numeric_code(&self) -> u32 {
2298        90
2299    }
2300}
2301
2302/// Somali Shilling
2303#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2304pub struct SOS;
2305impl Currency for SOS {
2306    fn code(&self) -> &'static str {
2307        "SOS"
2308    }
2309
2310    fn minor_units(&self) -> u32 {
2311        2
2312    }
2313
2314    fn numeric_code(&self) -> u32 {
2315        706
2316    }
2317}
2318
2319/// South Sudanese Pound
2320#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2321pub struct SSP;
2322impl Currency for SSP {
2323    fn code(&self) -> &'static str {
2324        "SSP"
2325    }
2326
2327    fn minor_units(&self) -> u32 {
2328        2
2329    }
2330
2331    fn numeric_code(&self) -> u32 {
2332        728
2333    }
2334}
2335
2336/// Sri Lanka Rupee
2337#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2338pub struct LKR;
2339impl Currency for LKR {
2340    fn code(&self) -> &'static str {
2341        "LKR"
2342    }
2343
2344    fn minor_units(&self) -> u32 {
2345        2
2346    }
2347
2348    fn numeric_code(&self) -> u32 {
2349        144
2350    }
2351}
2352
2353/// Sudanese Pound
2354#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2355pub struct SDG;
2356impl Currency for SDG {
2357    fn code(&self) -> &'static str {
2358        "SDG"
2359    }
2360
2361    fn minor_units(&self) -> u32 {
2362        2
2363    }
2364
2365    fn numeric_code(&self) -> u32 {
2366        938
2367    }
2368}
2369
2370/// Surinam Dollar
2371#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2372pub struct SRD;
2373impl Currency for SRD {
2374    fn code(&self) -> &'static str {
2375        "SRD"
2376    }
2377
2378    fn minor_units(&self) -> u32 {
2379        2
2380    }
2381
2382    fn numeric_code(&self) -> u32 {
2383        968
2384    }
2385}
2386
2387/// Swedish Krona
2388#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2389pub struct SEK;
2390impl Currency for SEK {
2391    fn code(&self) -> &'static str {
2392        "SEK"
2393    }
2394
2395    fn minor_units(&self) -> u32 {
2396        2
2397    }
2398
2399    fn numeric_code(&self) -> u32 {
2400        752
2401    }
2402}
2403
2404/// WIR Euro
2405#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2406pub struct CHE;
2407impl Currency for CHE {
2408    fn code(&self) -> &'static str {
2409        "CHE"
2410    }
2411
2412    fn minor_units(&self) -> u32 {
2413        2
2414    }
2415
2416    fn numeric_code(&self) -> u32 {
2417        947
2418    }
2419}
2420
2421/// WIR Franc
2422#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2423pub struct CHW;
2424impl Currency for CHW {
2425    fn code(&self) -> &'static str {
2426        "CHW"
2427    }
2428
2429    fn minor_units(&self) -> u32 {
2430        2
2431    }
2432
2433    fn numeric_code(&self) -> u32 {
2434        948
2435    }
2436}
2437
2438/// Syrian Pound
2439#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2440pub struct SYP;
2441impl Currency for SYP {
2442    fn code(&self) -> &'static str {
2443        "SYP"
2444    }
2445
2446    fn minor_units(&self) -> u32 {
2447        2
2448    }
2449
2450    fn numeric_code(&self) -> u32 {
2451        760
2452    }
2453}
2454
2455/// New Taiwan Dollar
2456#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2457pub struct TWD;
2458impl Currency for TWD {
2459    fn code(&self) -> &'static str {
2460        "TWD"
2461    }
2462
2463    fn minor_units(&self) -> u32 {
2464        2
2465    }
2466
2467    fn numeric_code(&self) -> u32 {
2468        901
2469    }
2470}
2471
2472/// Somoni
2473#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2474pub struct TJS;
2475impl Currency for TJS {
2476    fn code(&self) -> &'static str {
2477        "TJS"
2478    }
2479
2480    fn minor_units(&self) -> u32 {
2481        2
2482    }
2483
2484    fn numeric_code(&self) -> u32 {
2485        972
2486    }
2487}
2488
2489/// Tanzanian Shilling
2490#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2491pub struct TZS;
2492impl Currency for TZS {
2493    fn code(&self) -> &'static str {
2494        "TZS"
2495    }
2496
2497    fn minor_units(&self) -> u32 {
2498        2
2499    }
2500
2501    fn numeric_code(&self) -> u32 {
2502        834
2503    }
2504}
2505
2506/// Baht
2507#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2508pub struct THB;
2509impl Currency for THB {
2510    fn code(&self) -> &'static str {
2511        "THB"
2512    }
2513
2514    fn minor_units(&self) -> u32 {
2515        2
2516    }
2517
2518    fn numeric_code(&self) -> u32 {
2519        764
2520    }
2521}
2522
2523/// Pa’anga
2524#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2525pub struct TOP;
2526impl Currency for TOP {
2527    fn code(&self) -> &'static str {
2528        "TOP"
2529    }
2530
2531    fn minor_units(&self) -> u32 {
2532        2
2533    }
2534
2535    fn numeric_code(&self) -> u32 {
2536        776
2537    }
2538}
2539
2540/// Trinidad and Tobago Dollar
2541#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2542pub struct TTD;
2543impl Currency for TTD {
2544    fn code(&self) -> &'static str {
2545        "TTD"
2546    }
2547
2548    fn minor_units(&self) -> u32 {
2549        2
2550    }
2551
2552    fn numeric_code(&self) -> u32 {
2553        780
2554    }
2555}
2556
2557/// Tunisian Dinar
2558#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2559pub struct TND;
2560impl Currency for TND {
2561    fn code(&self) -> &'static str {
2562        "TND"
2563    }
2564
2565    fn minor_units(&self) -> u32 {
2566        3
2567    }
2568
2569    fn numeric_code(&self) -> u32 {
2570        788
2571    }
2572}
2573
2574/// Turkish Lira
2575#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2576pub struct TRY;
2577impl Currency for TRY {
2578    fn code(&self) -> &'static str {
2579        "TRY"
2580    }
2581
2582    fn minor_units(&self) -> u32 {
2583        2
2584    }
2585
2586    fn numeric_code(&self) -> u32 {
2587        949
2588    }
2589}
2590
2591/// Turkmenistan New Manat
2592#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2593pub struct TMT;
2594impl Currency for TMT {
2595    fn code(&self) -> &'static str {
2596        "TMT"
2597    }
2598
2599    fn minor_units(&self) -> u32 {
2600        2
2601    }
2602
2603    fn numeric_code(&self) -> u32 {
2604        934
2605    }
2606}
2607
2608/// Uganda Shilling
2609#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2610pub struct UGX;
2611impl Currency for UGX {
2612    fn code(&self) -> &'static str {
2613        "UGX"
2614    }
2615
2616    fn minor_units(&self) -> u32 {
2617        0
2618    }
2619
2620    fn numeric_code(&self) -> u32 {
2621        800
2622    }
2623}
2624
2625/// Hryvnia
2626#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2627pub struct UAH;
2628impl Currency for UAH {
2629    fn code(&self) -> &'static str {
2630        "UAH"
2631    }
2632
2633    fn minor_units(&self) -> u32 {
2634        2
2635    }
2636
2637    fn numeric_code(&self) -> u32 {
2638        980
2639    }
2640}
2641
2642/// UAE Dirham
2643#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2644pub struct AED;
2645impl Currency for AED {
2646    fn code(&self) -> &'static str {
2647        "AED"
2648    }
2649
2650    fn minor_units(&self) -> u32 {
2651        2
2652    }
2653
2654    fn numeric_code(&self) -> u32 {
2655        784
2656    }
2657}
2658
2659/// US Dollar (Next day)
2660#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2661pub struct USN;
2662impl Currency for USN {
2663    fn code(&self) -> &'static str {
2664        "USN"
2665    }
2666
2667    fn minor_units(&self) -> u32 {
2668        2
2669    }
2670
2671    fn numeric_code(&self) -> u32 {
2672        997
2673    }
2674}
2675
2676/// Peso Uruguayo
2677#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2678pub struct UYU;
2679impl Currency for UYU {
2680    fn code(&self) -> &'static str {
2681        "UYU"
2682    }
2683
2684    fn minor_units(&self) -> u32 {
2685        2
2686    }
2687
2688    fn numeric_code(&self) -> u32 {
2689        858
2690    }
2691}
2692
2693/// Uruguay Peso en Unidades Indexadas (UI)
2694#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2695pub struct UYI;
2696impl Currency for UYI {
2697    fn code(&self) -> &'static str {
2698        "UYI"
2699    }
2700
2701    fn minor_units(&self) -> u32 {
2702        0
2703    }
2704
2705    fn numeric_code(&self) -> u32 {
2706        940
2707    }
2708}
2709
2710/// Unidad Previsional
2711#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2712pub struct UYW;
2713impl Currency for UYW {
2714    fn code(&self) -> &'static str {
2715        "UYW"
2716    }
2717
2718    fn minor_units(&self) -> u32 {
2719        4
2720    }
2721
2722    fn numeric_code(&self) -> u32 {
2723        927
2724    }
2725}
2726
2727/// Uzbekistan Sum
2728#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2729pub struct UZS;
2730impl Currency for UZS {
2731    fn code(&self) -> &'static str {
2732        "UZS"
2733    }
2734
2735    fn minor_units(&self) -> u32 {
2736        2
2737    }
2738
2739    fn numeric_code(&self) -> u32 {
2740        860
2741    }
2742}
2743
2744/// Vatu
2745#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2746pub struct VUV;
2747impl Currency for VUV {
2748    fn code(&self) -> &'static str {
2749        "VUV"
2750    }
2751
2752    fn minor_units(&self) -> u32 {
2753        0
2754    }
2755
2756    fn numeric_code(&self) -> u32 {
2757        548
2758    }
2759}
2760
2761/// Bolívar Soberano
2762#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2763pub struct VES;
2764impl Currency for VES {
2765    fn code(&self) -> &'static str {
2766        "VES"
2767    }
2768
2769    fn minor_units(&self) -> u32 {
2770        2
2771    }
2772
2773    fn numeric_code(&self) -> u32 {
2774        928
2775    }
2776}
2777
2778/// Bolívar Soberano
2779#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2780pub struct VED;
2781impl Currency for VED {
2782    fn code(&self) -> &'static str {
2783        "VED"
2784    }
2785
2786    fn minor_units(&self) -> u32 {
2787        2
2788    }
2789
2790    fn numeric_code(&self) -> u32 {
2791        926
2792    }
2793}
2794
2795/// Dong
2796#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2797pub struct VND;
2798impl Currency for VND {
2799    fn code(&self) -> &'static str {
2800        "VND"
2801    }
2802
2803    fn minor_units(&self) -> u32 {
2804        0
2805    }
2806
2807    fn numeric_code(&self) -> u32 {
2808        704
2809    }
2810}
2811
2812/// Yemeni Rial
2813#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2814pub struct YER;
2815impl Currency for YER {
2816    fn code(&self) -> &'static str {
2817        "YER"
2818    }
2819
2820    fn minor_units(&self) -> u32 {
2821        2
2822    }
2823
2824    fn numeric_code(&self) -> u32 {
2825        886
2826    }
2827}
2828
2829/// Zambian Kwacha
2830#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2831pub struct ZMW;
2832impl Currency for ZMW {
2833    fn code(&self) -> &'static str {
2834        "ZMW"
2835    }
2836
2837    fn minor_units(&self) -> u32 {
2838        2
2839    }
2840
2841    fn numeric_code(&self) -> u32 {
2842        967
2843    }
2844}
2845
2846/// Zimbabwe Gold
2847#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2848pub struct ZWG;
2849impl Currency for ZWG {
2850    fn code(&self) -> &'static str {
2851        "ZWG"
2852    }
2853
2854    fn minor_units(&self) -> u32 {
2855        2
2856    }
2857
2858    fn numeric_code(&self) -> u32 {
2859        924
2860    }
2861}
2862
2863/// Bond Markets Unit European Composite Unit (EURCO)
2864#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2865pub struct XBA;
2866impl Currency for XBA {
2867    fn code(&self) -> &'static str {
2868        "XBA"
2869    }
2870
2871    fn minor_units(&self) -> u32 {
2872        0
2873    }
2874
2875    fn numeric_code(&self) -> u32 {
2876        955
2877    }
2878}
2879
2880/// Bond Markets Unit European Monetary Unit (E.M.U.-6)
2881#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2882pub struct XBB;
2883impl Currency for XBB {
2884    fn code(&self) -> &'static str {
2885        "XBB"
2886    }
2887
2888    fn minor_units(&self) -> u32 {
2889        0
2890    }
2891
2892    fn numeric_code(&self) -> u32 {
2893        956
2894    }
2895}
2896
2897/// Bond Markets Unit European Unit of Account 9 (E.U.A.-9)
2898#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2899pub struct XBC;
2900impl Currency for XBC {
2901    fn code(&self) -> &'static str {
2902        "XBC"
2903    }
2904
2905    fn minor_units(&self) -> u32 {
2906        0
2907    }
2908
2909    fn numeric_code(&self) -> u32 {
2910        957
2911    }
2912}
2913
2914/// Bond Markets Unit European Unit of Account 17 (E.U.A.-17)
2915#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2916pub struct XBD;
2917impl Currency for XBD {
2918    fn code(&self) -> &'static str {
2919        "XBD"
2920    }
2921
2922    fn minor_units(&self) -> u32 {
2923        0
2924    }
2925
2926    fn numeric_code(&self) -> u32 {
2927        958
2928    }
2929}
2930
2931/// Codes specifically reserved for testing purposes
2932#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2933pub struct XTS;
2934impl Currency for XTS {
2935    fn code(&self) -> &'static str {
2936        "XTS"
2937    }
2938
2939    fn minor_units(&self) -> u32 {
2940        0
2941    }
2942
2943    fn numeric_code(&self) -> u32 {
2944        963
2945    }
2946}
2947
2948/// The codes assigned for transactions where no currency is involved
2949#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2950pub struct XXX;
2951impl Currency for XXX {
2952    fn code(&self) -> &'static str {
2953        "XXX"
2954    }
2955
2956    fn minor_units(&self) -> u32 {
2957        0
2958    }
2959
2960    fn numeric_code(&self) -> u32 {
2961        999
2962    }
2963}
2964
2965/// Gold
2966#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2967pub struct XAU;
2968impl Currency for XAU {
2969    fn code(&self) -> &'static str {
2970        "XAU"
2971    }
2972
2973    fn minor_units(&self) -> u32 {
2974        0
2975    }
2976
2977    fn numeric_code(&self) -> u32 {
2978        959
2979    }
2980}
2981
2982/// Palladium
2983#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
2984pub struct XPD;
2985impl Currency for XPD {
2986    fn code(&self) -> &'static str {
2987        "XPD"
2988    }
2989
2990    fn minor_units(&self) -> u32 {
2991        0
2992    }
2993
2994    fn numeric_code(&self) -> u32 {
2995        964
2996    }
2997}
2998
2999/// Platinum
3000#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
3001pub struct XPT;
3002impl Currency for XPT {
3003    fn code(&self) -> &'static str {
3004        "XPT"
3005    }
3006
3007    fn minor_units(&self) -> u32 {
3008        0
3009    }
3010
3011    fn numeric_code(&self) -> u32 {
3012        962
3013    }
3014}
3015
3016/// Silver
3017#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)]
3018pub struct XAG;
3019impl Currency for XAG {
3020    fn code(&self) -> &'static str {
3021        "XAG"
3022    }
3023
3024    fn minor_units(&self) -> u32 {
3025        0
3026    }
3027
3028    fn numeric_code(&self) -> u32 {
3029        961
3030    }
3031}