github.com/primecitizens/pcz/std@v0.2.1/core/array/range.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright 2023 The Prime Citizens
     3  
     4  package array
     5  
     6  type Zero[T any] interface{ ~[0]T }
     7  
     8  type (
     9  	Range1To100[T any] interface {
    10  		Range1To8[T] | Range9To16[T] | Range17To24[T] | Range25To32[T] |
    11  			Range33To40[T] | Range41To48[T] | Range49To56[T] | Range57To64[T] |
    12  			Range65To72[T] | Range73To80[T] | Range81To88[T] | Range89To96[T] |
    13  			~[97]T | ~[98]T | ~[99]T | ~[100]T
    14  	}
    15  
    16  	Range100To200[T any] interface {
    17  		~[101]T | ~[102]T | ~[103]T | ~[104]T |
    18  			Range105To112[T] | Range113To120[T] | Range121To128[T] | Range129To136[T] |
    19  			Range137To144[T] | Range145To152[T] | Range153To160[T] | Range161To168[T] |
    20  			Range169To176[T] | Range177To184[T] | Range185To192[T] | Range193To200[T]
    21  	}
    22  
    23  	Range1To8[T any] interface {
    24  		~[1]T | ~[2]T | ~[3]T | ~[4]T | ~[5]T | ~[6]T | ~[7]T | ~[8]T
    25  	}
    26  
    27  	Range9To16[T any] interface {
    28  		~[9]T | ~[10]T | ~[11]T | ~[12]T | ~[13]T | ~[14]T | ~[15]T | ~[16]T
    29  	}
    30  
    31  	Range17To24[T any] interface {
    32  		~[17]T | ~[18]T | ~[19]T | ~[20]T | ~[21]T | ~[22]T | ~[23]T | ~[24]T
    33  	}
    34  
    35  	Range25To32[T any] interface {
    36  		~[25]T | ~[26]T | ~[27]T | ~[28]T | ~[29]T | ~[30]T | ~[31]T | ~[32]T
    37  	}
    38  
    39  	Range33To40[T any] interface {
    40  		~[33]T | ~[34]T | ~[35]T | ~[36]T | ~[37]T | ~[38]T | ~[39]T | ~[40]T
    41  	}
    42  
    43  	Range41To48[T any] interface {
    44  		~[41]T | ~[42]T | ~[43]T | ~[44]T | ~[45]T | ~[46]T | ~[47]T | ~[48]T
    45  	}
    46  
    47  	Range49To56[T any] interface {
    48  		~[49]T | ~[50]T | ~[51]T | ~[52]T | ~[53]T | ~[54]T | ~[55]T | ~[56]T
    49  	}
    50  
    51  	Range57To64[T any] interface {
    52  		~[57]T | ~[58]T | ~[59]T | ~[60]T | ~[61]T | ~[62]T | ~[63]T | ~[64]T
    53  	}
    54  
    55  	Range65To72[T any] interface {
    56  		~[65]T | ~[66]T | ~[67]T | ~[68]T | ~[69]T | ~[70]T | ~[71]T | ~[72]T
    57  	}
    58  
    59  	Range73To80[T any] interface {
    60  		~[73]T | ~[74]T | ~[75]T | ~[76]T | ~[77]T | ~[78]T | ~[79]T | ~[80]T
    61  	}
    62  
    63  	Range81To88[T any] interface {
    64  		~[81]T | ~[82]T | ~[83]T | ~[84]T | ~[85]T | ~[86]T | ~[87]T | ~[88]T
    65  	}
    66  
    67  	Range89To96[T any] interface {
    68  		~[89]T | ~[90]T | ~[91]T | ~[92]T | ~[93]T | ~[94]T | ~[95]T | ~[96]T
    69  	}
    70  
    71  	Range97To104[T any] interface {
    72  		~[97]T | ~[98]T | ~[99]T | ~[100]T | ~[101]T | ~[102]T | ~[103]T | ~[104]T
    73  	}
    74  
    75  	Range105To112[T any] interface {
    76  		~[105]T | ~[106]T | ~[107]T | ~[108]T | ~[109]T | ~[110]T | ~[111]T | ~[112]T
    77  	}
    78  
    79  	Range113To120[T any] interface {
    80  		~[113]T | ~[114]T | ~[115]T | ~[116]T | ~[117]T | ~[118]T | ~[119]T | ~[120]T
    81  	}
    82  
    83  	Range121To128[T any] interface {
    84  		~[121]T | ~[122]T | ~[123]T | ~[124]T | ~[125]T | ~[126]T | ~[127]T | ~[128]T
    85  	}
    86  
    87  	Range129To136[T any] interface {
    88  		~[129]T | ~[130]T | ~[131]T | ~[132]T | ~[133]T | ~[134]T | ~[135]T | ~[136]T
    89  	}
    90  
    91  	Range137To144[T any] interface {
    92  		~[137]T | ~[138]T | ~[139]T | ~[140]T | ~[141]T | ~[142]T | ~[143]T | ~[144]T
    93  	}
    94  
    95  	Range145To152[T any] interface {
    96  		~[145]T | ~[146]T | ~[147]T | ~[148]T | ~[149]T | ~[150]T | ~[151]T | ~[152]T
    97  	}
    98  
    99  	Range153To160[T any] interface {
   100  		~[153]T | ~[154]T | ~[155]T | ~[156]T | ~[157]T | ~[158]T | ~[159]T | ~[160]T
   101  	}
   102  
   103  	Range161To168[T any] interface {
   104  		~[161]T | ~[162]T | ~[163]T | ~[164]T | ~[165]T | ~[166]T | ~[167]T | ~[168]T
   105  	}
   106  
   107  	Range169To176[T any] interface {
   108  		~[169]T | ~[170]T | ~[171]T | ~[172]T | ~[173]T | ~[174]T | ~[175]T | ~[176]T
   109  	}
   110  
   111  	Range177To184[T any] interface {
   112  		~[177]T | ~[178]T | ~[179]T | ~[180]T | ~[181]T | ~[182]T | ~[183]T | ~[184]T
   113  	}
   114  
   115  	Range185To192[T any] interface {
   116  		~[185]T | ~[186]T | ~[187]T | ~[188]T | ~[189]T | ~[190]T | ~[191]T | ~[192]T
   117  	}
   118  
   119  	Range193To200[T any] interface {
   120  		~[193]T | ~[194]T | ~[195]T | ~[196]T | ~[197]T | ~[198]T | ~[199]T | ~[200]T
   121  	}
   122  )