module PlutusCore.Flat.Instances.Vector
()
where
import PlutusCore.Flat.Instances.Mono
import PlutusCore.Flat.Instances.Util
import Data.Vector qualified as V
import Data.Vector.Storable qualified as S
import Data.Vector.Unboxed qualified as U
instance Flat a => Flat (V.Vector a) where
size :: Vector a -> NumBits -> NumBits
size = Vector a -> NumBits -> NumBits
forall mono.
(IsSequence mono, Flat (Element mono)) =>
mono -> NumBits -> NumBits
sizeSequence
encode :: Vector a -> Encoding
encode = Vector a -> Encoding
forall mono.
(Flat (Element mono), MonoFoldable mono) =>
mono -> Encoding
encodeSequence
decode :: Get (Vector a)
decode = Get (Vector a)
forall b. (Flat (Element b), IsSequence b) => Get b
decodeSequence
instance (U.Unbox a,Flat a) => Flat (U.Vector a) where
size :: Vector a -> NumBits -> NumBits
size = Vector a -> NumBits -> NumBits
forall mono.
(IsSequence mono, Flat (Element mono)) =>
mono -> NumBits -> NumBits
sizeSequence
encode :: Vector a -> Encoding
encode = Vector a -> Encoding
forall mono.
(Flat (Element mono), MonoFoldable mono) =>
mono -> Encoding
encodeSequence
decode :: Get (Vector a)
decode = Get (Vector a)
forall b. (Flat (Element b), IsSequence b) => Get b
decodeSequence
instance (S.Storable a,Flat a) => Flat (S.Vector a) where
size :: Vector a -> NumBits -> NumBits
size = Vector a -> NumBits -> NumBits
forall mono.
(IsSequence mono, Flat (Element mono)) =>
mono -> NumBits -> NumBits
sizeSequence
encode :: Vector a -> Encoding
encode = Vector a -> Encoding
forall mono.
(Flat (Element mono), MonoFoldable mono) =>
mono -> Encoding
encodeSequence
decode :: Get (Vector a)
decode = Get (Vector a)
forall b. (Flat (Element b), IsSequence b) => Get b
decodeSequence