What i need is an array of all addresses from a ipv6 cidr
Actually, that probably isn't what you want. The numbers of addresses involved can quickly grow to be unmanageable. Holding them all in an array is going to require a huge amount of memory. (e.g. if you hold each address as a 128bit value
then for a /51 you would need around 2,000,000,000,000 TB of ram to hold that array).
What you really want is probably something that will generate the sequential addresses so that you can iterate over the addresses and perform some action on each; again this is not likely to be managable, as even if you are only taking 1ns to process each IP you are going to take millenia to actually iterate over all the addresses in a /51 (e.g. (1e-9 * 2**77)/(86400*365) = 4,791,848 years).