License | BSD-style |
---|---|
Maintainer | Haskell Foundation |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Basement.Endianness
Description
Set endianness tag to a given primitive. This will help for serialising data for protocols (such as the network protocols).
Documentation
Class of types that can be byte-swapped.
e.g. Word16, Word32, Word64
Minimal complete definition
byteSwap
Big Endian
Big Endian value
Instances
Bits a => Bits (BE a) # | |
Defined in Basement.Endianness | |
Show a => Show (BE a) # | |
NormalForm a => NormalForm (BE a) # | |
Defined in Basement.NormalForm Methods toNormalForm :: BE a -> () # | |
PrimMemoryComparable a => PrimMemoryComparable (BE a) # | |
Defined in Basement.PrimType | |
PrimType a => PrimType (BE a) # | |
Defined in Basement.PrimType Methods primSizeInBytes :: Proxy (BE a) -> CountOf Word8 # primShiftToBytes :: Proxy (BE a) -> Int # primBaUIndex :: ByteArray# -> Offset (BE a) -> BE a # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (BE a) -> prim (BE a) # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (BE a) -> BE a -> prim () # primAddrIndex :: Addr# -> Offset (BE a) -> BE a # primAddrRead :: PrimMonad prim => Addr# -> Offset (BE a) -> prim (BE a) # primAddrWrite :: PrimMonad prim => Addr# -> Offset (BE a) -> BE a -> prim () # | |
Eq a => Eq (BE a) # | |
(ByteSwap a, Ord a) => Ord (BE a) # | |
type PrimSize (BE a) # | |
Defined in Basement.PrimType |
Little Endian
Little Endian value
Instances
Bits a => Bits (LE a) # | |
Defined in Basement.Endianness | |
Show a => Show (LE a) # | |
NormalForm a => NormalForm (LE a) # | |
Defined in Basement.NormalForm Methods toNormalForm :: LE a -> () # | |
PrimMemoryComparable a => PrimMemoryComparable (LE a) # | |
Defined in Basement.PrimType | |
PrimType a => PrimType (LE a) # | |
Defined in Basement.PrimType Methods primSizeInBytes :: Proxy (LE a) -> CountOf Word8 # primShiftToBytes :: Proxy (LE a) -> Int # primBaUIndex :: ByteArray# -> Offset (LE a) -> LE a # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (LE a) -> prim (LE a) # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (LE a) -> LE a -> prim () # primAddrIndex :: Addr# -> Offset (LE a) -> LE a # primAddrRead :: PrimMonad prim => Addr# -> Offset (LE a) -> prim (LE a) # primAddrWrite :: PrimMonad prim => Addr# -> Offset (LE a) -> LE a -> prim () # | |
Eq a => Eq (LE a) # | |
(ByteSwap a, Ord a) => Ord (LE a) # | |
type PrimSize (LE a) # | |
Defined in Basement.PrimType |
System Endianness
data Endianness #
Constructors
LittleEndian | |
BigEndian |
Instances
Show Endianness # | |
Defined in Basement.Endianness Methods showsPrec :: Int -> Endianness -> ShowS # show :: Endianness -> String # showList :: [Endianness] -> ShowS # | |
Eq Endianness # | |
Defined in Basement.Endianness |
endianness of the current architecture