| 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