mirror of
https://github.com/zap-proto/haskell.git
synced 2026-10-30 15:05:00 +00:00
309 lines
14 KiB
Haskell
309 lines
14 KiB
Haskell
{-# LANGUAGE TypeFamilies #-}
|
|
{-# LANGUAGE FlexibleInstances #-}
|
|
{-# LANGUAGE MultiParamTypeClasses #-}
|
|
module Internal.Gen.Instances where
|
|
-- This module is auto-generated by gen-builtintypes-lists.hs; DO NOT EDIT.
|
|
|
|
import Data.Int
|
|
import Data.Word
|
|
|
|
import Capnp.Classes
|
|
( ListElem(..)
|
|
, MutListElem(..)
|
|
, FromPtr(..)
|
|
, Decerialize(..)
|
|
, Cerialize(..)
|
|
, cerializeBasicVec
|
|
)
|
|
|
|
import qualified Capnp.Untyped as U
|
|
import qualified Data.Vector as V
|
|
import qualified GHC.Float as F
|
|
|
|
instance ListElem msg Int8 where
|
|
newtype List msg Int8 = ListInt8 (U.ListOf msg Word8)
|
|
listFromPtr msg ptr = ListInt8 <$> fromPtr msg ptr
|
|
toUntypedList (ListInt8 l) = U.List8 l
|
|
length (ListInt8 l) = U.length l
|
|
index i (ListInt8 l) = fromIntegral <$> U.index i l
|
|
instance MutListElem s Int8 where
|
|
setIndex elt i (ListInt8 l) = U.setIndex (fromIntegral elt) i l
|
|
newList msg size = ListInt8 <$> U.allocList8 msg size
|
|
instance Decerialize Int8 where
|
|
type Cerial msg Int8 = Int8
|
|
decerialize val = pure val
|
|
instance Cerialize s Int8 where
|
|
cerialize _ val = pure val
|
|
instance Cerialize s (V.Vector Int8) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector Int8)) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector Int8))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector Int8)))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Int8))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Int8)))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance ListElem msg Int16 where
|
|
newtype List msg Int16 = ListInt16 (U.ListOf msg Word16)
|
|
listFromPtr msg ptr = ListInt16 <$> fromPtr msg ptr
|
|
toUntypedList (ListInt16 l) = U.List16 l
|
|
length (ListInt16 l) = U.length l
|
|
index i (ListInt16 l) = fromIntegral <$> U.index i l
|
|
instance MutListElem s Int16 where
|
|
setIndex elt i (ListInt16 l) = U.setIndex (fromIntegral elt) i l
|
|
newList msg size = ListInt16 <$> U.allocList16 msg size
|
|
instance Decerialize Int16 where
|
|
type Cerial msg Int16 = Int16
|
|
decerialize val = pure val
|
|
instance Cerialize s Int16 where
|
|
cerialize _ val = pure val
|
|
instance Cerialize s (V.Vector Int16) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector Int16)) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector Int16))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector Int16)))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Int16))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Int16)))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance ListElem msg Int32 where
|
|
newtype List msg Int32 = ListInt32 (U.ListOf msg Word32)
|
|
listFromPtr msg ptr = ListInt32 <$> fromPtr msg ptr
|
|
toUntypedList (ListInt32 l) = U.List32 l
|
|
length (ListInt32 l) = U.length l
|
|
index i (ListInt32 l) = fromIntegral <$> U.index i l
|
|
instance MutListElem s Int32 where
|
|
setIndex elt i (ListInt32 l) = U.setIndex (fromIntegral elt) i l
|
|
newList msg size = ListInt32 <$> U.allocList32 msg size
|
|
instance Decerialize Int32 where
|
|
type Cerial msg Int32 = Int32
|
|
decerialize val = pure val
|
|
instance Cerialize s Int32 where
|
|
cerialize _ val = pure val
|
|
instance Cerialize s (V.Vector Int32) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector Int32)) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector Int32))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector Int32)))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Int32))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Int32)))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance ListElem msg Int64 where
|
|
newtype List msg Int64 = ListInt64 (U.ListOf msg Word64)
|
|
listFromPtr msg ptr = ListInt64 <$> fromPtr msg ptr
|
|
toUntypedList (ListInt64 l) = U.List64 l
|
|
length (ListInt64 l) = U.length l
|
|
index i (ListInt64 l) = fromIntegral <$> U.index i l
|
|
instance MutListElem s Int64 where
|
|
setIndex elt i (ListInt64 l) = U.setIndex (fromIntegral elt) i l
|
|
newList msg size = ListInt64 <$> U.allocList64 msg size
|
|
instance Decerialize Int64 where
|
|
type Cerial msg Int64 = Int64
|
|
decerialize val = pure val
|
|
instance Cerialize s Int64 where
|
|
cerialize _ val = pure val
|
|
instance Cerialize s (V.Vector Int64) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector Int64)) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector Int64))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector Int64)))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Int64))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Int64)))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance ListElem msg Word8 where
|
|
newtype List msg Word8 = ListWord8 (U.ListOf msg Word8)
|
|
listFromPtr msg ptr = ListWord8 <$> fromPtr msg ptr
|
|
toUntypedList (ListWord8 l) = U.List8 l
|
|
length (ListWord8 l) = U.length l
|
|
index i (ListWord8 l) = id <$> U.index i l
|
|
instance MutListElem s Word8 where
|
|
setIndex elt i (ListWord8 l) = U.setIndex (id elt) i l
|
|
newList msg size = ListWord8 <$> U.allocList8 msg size
|
|
instance Decerialize Word8 where
|
|
type Cerial msg Word8 = Word8
|
|
decerialize val = pure val
|
|
instance Cerialize s Word8 where
|
|
cerialize _ val = pure val
|
|
instance Cerialize s (V.Vector Word8) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector Word8)) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector Word8))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector Word8)))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Word8))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Word8)))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance ListElem msg Word16 where
|
|
newtype List msg Word16 = ListWord16 (U.ListOf msg Word16)
|
|
listFromPtr msg ptr = ListWord16 <$> fromPtr msg ptr
|
|
toUntypedList (ListWord16 l) = U.List16 l
|
|
length (ListWord16 l) = U.length l
|
|
index i (ListWord16 l) = id <$> U.index i l
|
|
instance MutListElem s Word16 where
|
|
setIndex elt i (ListWord16 l) = U.setIndex (id elt) i l
|
|
newList msg size = ListWord16 <$> U.allocList16 msg size
|
|
instance Decerialize Word16 where
|
|
type Cerial msg Word16 = Word16
|
|
decerialize val = pure val
|
|
instance Cerialize s Word16 where
|
|
cerialize _ val = pure val
|
|
instance Cerialize s (V.Vector Word16) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector Word16)) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector Word16))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector Word16)))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Word16))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Word16)))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance ListElem msg Word32 where
|
|
newtype List msg Word32 = ListWord32 (U.ListOf msg Word32)
|
|
listFromPtr msg ptr = ListWord32 <$> fromPtr msg ptr
|
|
toUntypedList (ListWord32 l) = U.List32 l
|
|
length (ListWord32 l) = U.length l
|
|
index i (ListWord32 l) = id <$> U.index i l
|
|
instance MutListElem s Word32 where
|
|
setIndex elt i (ListWord32 l) = U.setIndex (id elt) i l
|
|
newList msg size = ListWord32 <$> U.allocList32 msg size
|
|
instance Decerialize Word32 where
|
|
type Cerial msg Word32 = Word32
|
|
decerialize val = pure val
|
|
instance Cerialize s Word32 where
|
|
cerialize _ val = pure val
|
|
instance Cerialize s (V.Vector Word32) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector Word32)) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector Word32))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector Word32)))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Word32))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Word32)))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance ListElem msg Word64 where
|
|
newtype List msg Word64 = ListWord64 (U.ListOf msg Word64)
|
|
listFromPtr msg ptr = ListWord64 <$> fromPtr msg ptr
|
|
toUntypedList (ListWord64 l) = U.List64 l
|
|
length (ListWord64 l) = U.length l
|
|
index i (ListWord64 l) = id <$> U.index i l
|
|
instance MutListElem s Word64 where
|
|
setIndex elt i (ListWord64 l) = U.setIndex (id elt) i l
|
|
newList msg size = ListWord64 <$> U.allocList64 msg size
|
|
instance Decerialize Word64 where
|
|
type Cerial msg Word64 = Word64
|
|
decerialize val = pure val
|
|
instance Cerialize s Word64 where
|
|
cerialize _ val = pure val
|
|
instance Cerialize s (V.Vector Word64) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector Word64)) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector Word64))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector Word64)))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Word64))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Word64)))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance ListElem msg Float where
|
|
newtype List msg Float = ListFloat (U.ListOf msg Word32)
|
|
listFromPtr msg ptr = ListFloat <$> fromPtr msg ptr
|
|
toUntypedList (ListFloat l) = U.List32 l
|
|
length (ListFloat l) = U.length l
|
|
index i (ListFloat l) = F.castWord32ToFloat <$> U.index i l
|
|
instance MutListElem s Float where
|
|
setIndex elt i (ListFloat l) = U.setIndex (F.castFloatToWord32 elt) i l
|
|
newList msg size = ListFloat <$> U.allocList32 msg size
|
|
instance Decerialize Float where
|
|
type Cerial msg Float = Float
|
|
decerialize val = pure val
|
|
instance Cerialize s Float where
|
|
cerialize _ val = pure val
|
|
instance Cerialize s (V.Vector Float) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector Float)) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector Float))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector Float)))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Float))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Float)))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance ListElem msg Double where
|
|
newtype List msg Double = ListDouble (U.ListOf msg Word64)
|
|
listFromPtr msg ptr = ListDouble <$> fromPtr msg ptr
|
|
toUntypedList (ListDouble l) = U.List64 l
|
|
length (ListDouble l) = U.length l
|
|
index i (ListDouble l) = F.castWord64ToDouble <$> U.index i l
|
|
instance MutListElem s Double where
|
|
setIndex elt i (ListDouble l) = U.setIndex (F.castDoubleToWord64 elt) i l
|
|
newList msg size = ListDouble <$> U.allocList64 msg size
|
|
instance Decerialize Double where
|
|
type Cerial msg Double = Double
|
|
decerialize val = pure val
|
|
instance Cerialize s Double where
|
|
cerialize _ val = pure val
|
|
instance Cerialize s (V.Vector Double) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector Double)) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector Double))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector Double)))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Double))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Double)))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance ListElem msg Bool where
|
|
newtype List msg Bool = ListBool (U.ListOf msg Bool)
|
|
listFromPtr msg ptr = ListBool <$> fromPtr msg ptr
|
|
toUntypedList (ListBool l) = U.List1 l
|
|
length (ListBool l) = U.length l
|
|
index i (ListBool l) = id <$> U.index i l
|
|
instance MutListElem s Bool where
|
|
setIndex elt i (ListBool l) = U.setIndex (id elt) i l
|
|
newList msg size = ListBool <$> U.allocList1 msg size
|
|
instance Decerialize Bool where
|
|
type Cerial msg Bool = Bool
|
|
decerialize val = pure val
|
|
instance Cerialize s Bool where
|
|
cerialize _ val = pure val
|
|
instance Cerialize s (V.Vector Bool) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector Bool)) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector Bool))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector Bool)))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Bool))))) where
|
|
cerialize = cerializeBasicVec
|
|
instance Cerialize s (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector (V.Vector Bool)))))) where
|
|
cerialize = cerializeBasicVec
|