binrep
Safe HaskellNone
LanguageGHC2021

Binrep.Util.ByteOrder

Synopsis

Documentation

data ByteOrder #

Byte ordering.

Constructors

BigEndian

most-significant-byte occurs in lowest address.

LittleEndian

least-significant-byte occurs in lowest address.

Instances

Instances details
Bounded ByteOrder

Since: base-4.11.0.0

Instance details

Defined in GHC.ByteOrder

Enum ByteOrder

Since: base-4.11.0.0

Instance details

Defined in GHC.ByteOrder

Generic ByteOrder 
Instance details

Defined in GHC.ByteOrder

Associated Types

type Rep ByteOrder

Since: base-4.15.0.0

Instance details

Defined in GHC.ByteOrder

type Rep ByteOrder = D1 ('MetaData "ByteOrder" "GHC.ByteOrder" "base" 'False) (C1 ('MetaCons "BigEndian" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LittleEndian" 'PrefixI 'False) (U1 :: Type -> Type))
Read ByteOrder

Since: base-4.11.0.0

Instance details

Defined in GHC.ByteOrder

Show ByteOrder

Since: base-4.11.0.0

Instance details

Defined in GHC.ByteOrder

Eq ByteOrder

Since: base-4.11.0.0

Instance details

Defined in GHC.ByteOrder

Ord ByteOrder

Since: base-4.11.0.0

Instance details

Defined in GHC.ByteOrder

type Rep ByteOrder

Since: base-4.15.0.0

Instance details

Defined in GHC.ByteOrder

type Rep ByteOrder = D1 ('MetaData "ByteOrder" "GHC.ByteOrder" "base" 'False) (C1 ('MetaCons "BigEndian" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LittleEndian" 'PrefixI 'False) (U1 :: Type -> Type))

newtype ByteOrdered (end :: ByteOrder) a #

Constructors

ByteOrdered 

Fields

Instances

Instances details
IsCBLen a => IsCBLen (ByteOrdered end a :: Type) Source # 
Instance details

Defined in Binrep.CBLen

Associated Types

type CBLen (ByteOrdered end a :: Type)

Endianness does not alter constant length.

Instance details

Defined in Binrep.CBLen

type CBLen (ByteOrdered end a :: Type) = CBLen a
Enum a => Enum (ByteOrdered end a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

Methods

succ :: ByteOrdered end a -> ByteOrdered end a #

pred :: ByteOrdered end a -> ByteOrdered end a #

toEnum :: Int -> ByteOrdered end a #

fromEnum :: ByteOrdered end a -> Int #

enumFrom :: ByteOrdered end a -> [ByteOrdered end a] #

enumFromThen :: ByteOrdered end a -> ByteOrdered end a -> [ByteOrdered end a] #

enumFromTo :: ByteOrdered end a -> ByteOrdered end a -> [ByteOrdered end a] #

enumFromThenTo :: ByteOrdered end a -> ByteOrdered end a -> ByteOrdered end a -> [ByteOrdered end a] #

Num a => Num (ByteOrdered end a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

Methods

(+) :: ByteOrdered end a -> ByteOrdered end a -> ByteOrdered end a #

(-) :: ByteOrdered end a -> ByteOrdered end a -> ByteOrdered end a #

(*) :: ByteOrdered end a -> ByteOrdered end a -> ByteOrdered end a #

negate :: ByteOrdered end a -> ByteOrdered end a #

abs :: ByteOrdered end a -> ByteOrdered end a #

signum :: ByteOrdered end a -> ByteOrdered end a #

fromInteger :: Integer -> ByteOrdered end a #

Integral a => Integral (ByteOrdered end a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

Methods

quot :: ByteOrdered end a -> ByteOrdered end a -> ByteOrdered end a #

rem :: ByteOrdered end a -> ByteOrdered end a -> ByteOrdered end a #

div :: ByteOrdered end a -> ByteOrdered end a -> ByteOrdered end a #

mod :: ByteOrdered end a -> ByteOrdered end a -> ByteOrdered end a #

quotRem :: ByteOrdered end a -> ByteOrdered end a -> (ByteOrdered end a, ByteOrdered end a) #

divMod :: ByteOrdered end a -> ByteOrdered end a -> (ByteOrdered end a, ByteOrdered end a) #

toInteger :: ByteOrdered end a -> Integer #

Real a => Real (ByteOrdered end a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

Methods

toRational :: ByteOrdered end a -> Rational #

Show a => Show (ByteOrdered end a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

Methods

showsPrec :: Int -> ByteOrdered end a -> ShowS #

show :: ByteOrdered end a -> String #

showList :: [ByteOrdered end a] -> ShowS #

KnownNat (CBLen a) => BLen (ByteOrdered end a) Source #

Explicitness does not alter length.

Instance details

Defined in Binrep.BLen

Methods

blen :: ByteOrdered end a -> Int Source #

(Prim' a, ByteSwap a, Typeable a) => Get (ByteOrdered 'BigEndian a) Source # 
Instance details

Defined in Binrep.Get

(Prim' a, ByteSwap a, Typeable a) => Get (ByteOrdered 'LittleEndian a) Source # 
Instance details

Defined in Binrep.Get

Get (ByteOrdered end Int8) Source #

Byte order is irrelevant for 8-bit (1-byte) words.

Instance details

Defined in Binrep.Get

Methods

get :: Getter (ByteOrdered end Int8) Source #

Get (ByteOrdered end Word8) Source #

Byte order is irrelevant for 8-bit (1-byte) words.

Instance details

Defined in Binrep.Get

(Prim' a, ByteSwap a) => GetC (ByteOrdered 'BigEndian a) Source # 
Instance details

Defined in Binrep.Get.Struct

(Prim' a, ByteSwap a) => GetC (ByteOrdered 'LittleEndian a) Source # 
Instance details

Defined in Binrep.Get.Struct

GetC (ByteOrdered end Int8) Source # 
Instance details

Defined in Binrep.Get.Struct

GetC (ByteOrdered end Word8) Source # 
Instance details

Defined in Binrep.Get.Struct

(Prim' a, ByteSwap a) => Put (ByteOrdered 'BigEndian a) Source # 
Instance details

Defined in Binrep.Put

(Prim' a, ByteSwap a) => Put (ByteOrdered 'LittleEndian a) Source # 
Instance details

Defined in Binrep.Put

Put (ByteOrdered end Int8) Source #

Byte order is irrelevant for 8-bit (1-byte) words.

Instance details

Defined in Binrep.Put

Methods

put :: ByteOrdered end Int8 -> Putter Source #

Put (ByteOrdered end Word8) Source #

Byte order is irrelevant for 8-bit (1-byte) words.

Instance details

Defined in Binrep.Put

Methods

put :: ByteOrdered end Word8 -> Putter Source #

(Prim' a, ByteSwap a) => PutC (ByteOrdered 'BigEndian a) Source # 
Instance details

Defined in Binrep.Put.Struct

(Prim' a, ByteSwap a) => PutC (ByteOrdered 'LittleEndian a) Source # 
Instance details

Defined in Binrep.Put.Struct

PutC (ByteOrdered end Int8) Source #

Byte order is irrelevant for 8-bit (1-byte) words.

Instance details

Defined in Binrep.Put.Struct

Methods

putC :: ByteOrdered end Int8 -> PutterC Source #

PutC (ByteOrdered end Word8) Source #

Byte order is irrelevant for 8-bit (1-byte) words.

Instance details

Defined in Binrep.Put.Struct

LenNat a => LenNat (ByteOrdered end a) Source # 
Instance details

Defined in Binrep.Type.Prefix.Internal

Associated Types

type LenNatMax (ByteOrdered end a)

Byte ordering doesn't change how prefixes work.

Instance details

Defined in Binrep.Type.Prefix.Internal

type LenNatName (ByteOrdered end a) 
Instance details

Defined in Binrep.Type.Prefix.Internal

Methods

lenToNat :: Int -> ByteOrdered end a Source #

natToLen :: ByteOrdered end a -> Int Source #

(Prim' a, ByteSwap a) => Prim' (ByteOrdered 'BigEndian a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

Associated Types

type SizeOf (ByteOrdered 'BigEndian a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

Prim' a => Prim' (ByteOrdered 'LittleEndian a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

Associated Types

type SizeOf (ByteOrdered 'LittleEndian a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

Eq a => Eq (ByteOrdered end a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

Methods

(==) :: ByteOrdered end a -> ByteOrdered end a -> Bool #

(/=) :: ByteOrdered end a -> ByteOrdered end a -> Bool #

Ord a => Ord (ByteOrdered end a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

Methods

compare :: ByteOrdered end a -> ByteOrdered end a -> Ordering #

(<) :: ByteOrdered end a -> ByteOrdered end a -> Bool #

(<=) :: ByteOrdered end a -> ByteOrdered end a -> Bool #

(>) :: ByteOrdered end a -> ByteOrdered end a -> Bool #

(>=) :: ByteOrdered end a -> ByteOrdered end a -> Bool #

max :: ByteOrdered end a -> ByteOrdered end a -> ByteOrdered end a #

min :: ByteOrdered end a -> ByteOrdered end a -> ByteOrdered end a #

(Prim a, ByteSwap a) => Prim (ByteOrdered 'BigEndian a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

Prim a => Prim (ByteOrdered 'LittleEndian a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

type CBLen (ByteOrdered end a :: Type) Source #

Endianness does not alter constant length.

Instance details

Defined in Binrep.CBLen

type CBLen (ByteOrdered end a :: Type) = CBLen a
type LenNatMax (ByteOrdered end a) Source #

Byte ordering doesn't change how prefixes work.

Instance details

Defined in Binrep.Type.Prefix.Internal

type LenNatName (ByteOrdered end a) Source # 
Instance details

Defined in Binrep.Type.Prefix.Internal

type SizeOf (ByteOrdered 'BigEndian a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

type SizeOf (ByteOrdered 'LittleEndian a) 
Instance details

Defined in Raehik.Compat.Data.Primitive.Types.Endian

type family EndianSuffix (end :: ByteOrder) :: Symbol where ... Source #

Equations

EndianSuffix 'LittleEndian = "LE" 
EndianSuffix 'BigEndian = "BE"