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