binrep-0.7.0: src/Binrep/Test.hs
{-# LANGUAGE UndecidableInstances #-}
module Binrep.Test where
import Binrep
import Binrep.Type.Magic
import Binrep.CBLen.Generic
import GHC.Generics ( Generic )
import Data.Word
import Binrep.Util.ByteOrder
data DMagic = DMagic
{ dMagic1_8b :: Magic '[0xFF, 0, 1, 0, 1, 0, 1, 0xFF]
} deriving stock Generic
instance IsCBLen DMagic where type CBLen DMagic = CBLenGenericNonSum DMagic
instance PutC DMagic where putC = putGenericStruct
data DMagicSum = DMagicSum1 (Magic '[0]) | DMagicSum2 (Magic '[0xFF])
deriving stock Generic
instance IsCBLen DMagicSum where
type CBLen DMagicSum = CBLenGenericNonSum DMagicSum
data DStruct = DStruct
{ dStruct1 :: Magic '[0xFF, 0, 1, 0xFF]
, dStruct2 :: ByteOrdered LE Word32
, dStruct3 :: ()
} deriving stock (Generic, Show)
instance IsCBLen DStruct where type CBLen DStruct = CBLenGenericNonSum DStruct
instance GetC DStruct where getC = getGenericStruct
deriving via ViaGetC DStruct instance Get DStruct