| 1 | use super::*; |
| 2 | use crate::export; |
| 3 | |
| 4 | macro_rules! arrays { |
| 5 | ( $($len:literal $fmt:literal,)+ ) => { |
| 6 | impl<T, const N: usize> Format for [T; N] |
| 7 | where |
| 8 | T: Format |
| 9 | { |
| 10 | default_format!(); |
| 11 | |
| 12 | #[inline] |
| 13 | fn _format_tag() -> Str { |
| 14 | match N { |
| 15 | $( |
| 16 | $len => internp!($fmt), |
| 17 | )+ |
| 18 | _ => internp!("{=[?]}" ), |
| 19 | } |
| 20 | } |
| 21 | |
| 22 | #[inline] |
| 23 | fn _format_data(&self) { |
| 24 | match N { |
| 25 | $( $len )|+ => export::fmt_array(self), |
| 26 | _ => export::fmt_slice(self), |
| 27 | } |
| 28 | } |
| 29 | } |
| 30 | }; |
| 31 | } |
| 32 | |
| 33 | arrays! { |
| 34 | 0 "{=[?;0]}" , |
| 35 | 1 "{=[?;1]}" , |
| 36 | 2 "{=[?;2]}" , |
| 37 | 3 "{=[?;3]}" , |
| 38 | 4 "{=[?;4]}" , |
| 39 | 5 "{=[?;5]}" , |
| 40 | 6 "{=[?;6]}" , |
| 41 | 7 "{=[?;7]}" , |
| 42 | 8 "{=[?;8]}" , |
| 43 | 9 "{=[?;9]}" , |
| 44 | 10 "{=[?;10]}" , |
| 45 | 11 "{=[?;11]}" , |
| 46 | 12 "{=[?;12]}" , |
| 47 | 13 "{=[?;13]}" , |
| 48 | 14 "{=[?;14]}" , |
| 49 | 15 "{=[?;15]}" , |
| 50 | 16 "{=[?;16]}" , |
| 51 | 17 "{=[?;17]}" , |
| 52 | 18 "{=[?;18]}" , |
| 53 | 19 "{=[?;19]}" , |
| 54 | 20 "{=[?;20]}" , |
| 55 | 21 "{=[?;21]}" , |
| 56 | 22 "{=[?;22]}" , |
| 57 | 23 "{=[?;23]}" , |
| 58 | 24 "{=[?;24]}" , |
| 59 | 25 "{=[?;25]}" , |
| 60 | 26 "{=[?;26]}" , |
| 61 | 27 "{=[?;27]}" , |
| 62 | 28 "{=[?;28]}" , |
| 63 | 29 "{=[?;29]}" , |
| 64 | 30 "{=[?;30]}" , |
| 65 | 31 "{=[?;31]}" , |
| 66 | 32 "{=[?;32]}" , |
| 67 | 64 "{=[?;64]}" , |
| 68 | 128 "{=[?;128]}" , |
| 69 | 256 "{=[?;256]}" , |
| 70 | 512 "{=[?;512]}" , |
| 71 | 1024 "{=[?;1024]}" , |
| 72 | 2048 "{=[?;2048]}" , |
| 73 | 4096 "{=[?;4096]}" , |
| 74 | 8192 "{=[?;8192]}" , |
| 75 | 16384 "{=[?;16384]}" , |
| 76 | 32768 "{=[?;32768]}" , |
| 77 | 65536 "{=[?;65536]}" , |
| 78 | 131072 "{=[?;131072]}" , |
| 79 | 262144 "{=[?;262144]}" , |
| 80 | 524288 "{=[?;524288]}" , |
| 81 | 1048576 "{=[?;1048576]}" , |
| 82 | 2097152 "{=[?;2097152]}" , |
| 83 | 4194304 "{=[?;4194304]}" , |
| 84 | 8388608 "{=[?;8388608]}" , |
| 85 | 16777216 "{=[?;16777216]}" , |
| 86 | 33554432 "{=[?;33554432]}" , |
| 87 | 67108864 "{=[?;67108864]}" , |
| 88 | 134217728 "{=[?;134217728]}" , |
| 89 | 268435456 "{=[?;268435456]}" , |
| 90 | 536870912 "{=[?;536870912]}" , |
| 91 | 1073741824 "{=[?;1073741824]}" , |
| 92 | 100 "{=[?;100]}" , |
| 93 | 1000 "{=[?;1000]}" , |
| 94 | 10000 "{=[?;10000]}" , |
| 95 | 100000 "{=[?;100000]}" , |
| 96 | 1000000 "{=[?;1000000]}" , |
| 97 | 10000000 "{=[?;10000000]}" , |
| 98 | 100000000 "{=[?;100000000]}" , |
| 99 | 1000000000 "{=[?;1000000000]}" , |
| 100 | } |
| 101 | |