data-endian-0.1.1: Endian-sensitive data
Safe HaskellSafe-Inferred
LanguageHaskell98

Data.Endian

Synopsis

Documentation

data Endian Source #

Endianness.

Constructors

LittleEndian

Little-endian

BigEndian

Big-endian

Instances

Instances details
Bounded Endian Source # 
Instance details

Defined in Data.Endian

Enum Endian Source # 
Instance details

Defined in Data.Endian

Eq Endian Source # 
Instance details

Defined in Data.Endian

Methods

(==) :: Endian -> Endian -> Bool

(/=) :: Endian -> Endian -> Bool

Data Endian Source # 
Instance details

Defined in Data.Endian

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Endian -> c Endian

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Endian

toConstr :: Endian -> Constr

dataTypeOf :: Endian -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Endian)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Endian)

gmapT :: (forall b. Data b => b -> b) -> Endian -> Endian

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Endian -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Endian -> r

gmapQ :: (forall d. Data d => d -> u) -> Endian -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Endian -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Endian -> m Endian

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Endian -> m Endian

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Endian -> m Endian

Ord Endian Source # 
Instance details

Defined in Data.Endian

Methods

compare :: Endian -> Endian -> Ordering

(<) :: Endian -> Endian -> Bool

(<=) :: Endian -> Endian -> Bool

(>) :: Endian -> Endian -> Bool

(>=) :: Endian -> Endian -> Bool

max :: Endian -> Endian -> Endian

min :: Endian -> Endian -> Endian

Read Endian Source # 
Instance details

Defined in Data.Endian

Methods

readsPrec :: Int -> ReadS Endian

readList :: ReadS [Endian]

readPrec :: ReadPrec Endian

readListPrec :: ReadPrec [Endian]

Show Endian Source # 
Instance details

Defined in Data.Endian

Methods

showsPrec :: Int -> Endian -> ShowS

show :: Endian -> String

showList :: [Endian] -> ShowS

Ix Endian Source # 
Instance details

Defined in Data.Endian

Methods

range :: (Endian, Endian) -> [Endian]

index :: (Endian, Endian) -> Endian -> Int

unsafeIndex :: (Endian, Endian) -> Endian -> Int

inRange :: (Endian, Endian) -> Endian -> Bool

rangeSize :: (Endian, Endian) -> Int

unsafeRangeSize :: (Endian, Endian) -> Int

Generic Endian Source # 
Instance details

Defined in Data.Endian

Associated Types

type Rep Endian :: Type -> Type

Methods

from :: Endian -> Rep Endian x

to :: Rep Endian x -> Endian

type Rep Endian Source # 
Instance details

Defined in Data.Endian

type Rep Endian = D1 ('MetaData "Endian" "Data.Endian" "data-endian-0.1.1-8ECaUQ9v55RAjAwuwWbvWN" 'False) (C1 ('MetaCons "LittleEndian" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BigEndian" 'PrefixI 'False) (U1 :: Type -> Type))

isLittleEndian :: Endian -> Bool Source #

Return True if the supplied value is LittleEndian.

isBigEndian :: Endian -> Bool Source #

Return True if the supplied value is BigEndian.

class EndianSensitive α where Source #

Raw, endian-sensitive data.

Methods

swapEndian :: α -> α Source #

Change the endianness of the argument.

Instances

Instances details
EndianSensitive Int16 Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: Int16 -> Int16 Source #

EndianSensitive Int32 Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: Int32 -> Int32 Source #

EndianSensitive Int64 Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: Int64 -> Int64 Source #

EndianSensitive Word16 Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: Word16 -> Word16 Source #

EndianSensitive Word32 Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: Word32 -> Word32 Source #

EndianSensitive Word64 Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: Word64 -> Word64 Source #

EndianSensitive IntPtr Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: IntPtr -> IntPtr Source #

EndianSensitive WordPtr Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: WordPtr -> WordPtr Source #

EndianSensitive CInt Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CInt -> CInt Source #

EndianSensitive CIntMax Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CIntMax -> CIntMax Source #

EndianSensitive CIntPtr Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CIntPtr -> CIntPtr Source #

EndianSensitive CLLong Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CLLong -> CLLong Source #

EndianSensitive CLong Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CLong -> CLong Source #

EndianSensitive CPtrdiff Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CPtrdiff -> CPtrdiff Source #

EndianSensitive CShort Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CShort -> CShort Source #

EndianSensitive CSize Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CSize -> CSize Source #

EndianSensitive CUInt Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CUInt -> CUInt Source #

EndianSensitive CUIntMax Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CUIntMax -> CUIntMax Source #

EndianSensitive CUIntPtr Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CUIntPtr -> CUIntPtr Source #

EndianSensitive CULLong Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CULLong -> CULLong Source #

EndianSensitive CULong Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CULong -> CULong Source #

EndianSensitive CUShort Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CUShort -> CUShort Source #

EndianSensitive CWchar Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CWchar -> CWchar Source #

EndianSensitive CSsize Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: CSsize -> CSsize Source #

EndianSensitive α => EndianSensitive [α] Source # 
Instance details

Defined in Data.Endian

Methods

swapEndian :: [α] -> [α] Source #

toLittleEndian :: EndianSensitive α => α -> α Source #

Convert from the native format to little-endian.

fromLittleEndian :: EndianSensitive α => α -> α Source #

Convert from little-endian to the native format.

toBigEndian :: EndianSensitive α => α -> α Source #

Convert from the native format to big-endian.

fromBigEndian :: EndianSensitive α => α -> α Source #

Convert from big-endian to the native format.

toEndian :: EndianSensitive α => Endian -> α -> α Source #

Convert from the native format to the specified endianness.

fromEndian :: EndianSensitive α => Endian -> α -> α Source #

Convert from the specified endianness to the native format.