| License | BSD-style |
|---|---|
| Maintainer | Haskell Foundation |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| 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
Little Endian
Little Endian value
Instances
| Bits a => Bits (LE a) Source # | |||||
Defined in Basement.Endianness Methods (.&.) :: LE a -> LE a -> LE a # (.|.) :: LE a -> LE a -> LE a # complement :: LE a -> LE a # shift :: LE a -> Int -> LE a # rotate :: LE a -> Int -> LE a # setBit :: LE a -> Int -> LE a # clearBit :: LE a -> Int -> LE a # complementBit :: LE a -> Int -> LE a # testBit :: LE a -> Int -> Bool # bitSizeMaybe :: LE a -> Maybe Int # shiftL :: LE a -> Int -> LE a # unsafeShiftL :: LE a -> Int -> LE a # shiftR :: LE a -> Int -> LE a # unsafeShiftR :: LE a -> Int -> LE a # rotateL :: LE a -> Int -> LE a # | |||||
| Show a => Show (LE a) Source # | |||||
| NormalForm a => NormalForm (LE a) Source # | |||||
Defined in Basement.NormalForm Methods toNormalForm :: LE a -> () Source # | |||||
| PrimMemoryComparable a => PrimMemoryComparable (LE a) Source # | |||||
Defined in Basement.PrimType | |||||
| PrimType a => PrimType (LE a) Source # | |||||
Defined in Basement.PrimType Associated Types
Methods primSizeInBytes :: Proxy (LE a) -> CountOf Word8 Source # primShiftToBytes :: Proxy (LE a) -> Int Source # primBaUIndex :: ByteArray# -> Offset (LE a) -> LE a Source # primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (LE a) -> prim (LE a) Source # primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (LE a) -> LE a -> prim () Source # primAddrIndex :: Addr# -> Offset (LE a) -> LE a Source # primAddrRead :: PrimMonad prim => Addr# -> Offset (LE a) -> prim (LE a) Source # primAddrWrite :: PrimMonad prim => Addr# -> Offset (LE a) -> LE a -> prim () Source # | |||||
| Eq a => Eq (LE a) Source # | |||||
| (ByteSwap a, Ord a) => Ord (LE a) Source # | |||||
| type PrimSize (LE a) Source # | |||||
Defined in Basement.PrimType | |||||
System Endianness
data Endianness Source #
Constructors
| LittleEndian | |
| BigEndian |
Instances
| Show Endianness Source # | |
Defined in Basement.Endianness Methods showsPrec :: Int -> Endianness -> ShowS # show :: Endianness -> String # showList :: [Endianness] -> ShowS # | |
| Eq Endianness Source # | |
Defined in Basement.Endianness | |
endianness :: Endianness Source #
endianness of the current architecture