bytezap-1.3.0: Bytestring builder with zero intermediate allocation
Safe HaskellSafe-Inferred
LanguageGHC2021

Raehik.Compat.Data.Primitive.Types.Endian

Description

I think this should be in primitive.

Synopsis

Documentation

class ByteSwap a where Source #

Boxed types which permit reversing byte order ("byte swapping").

Methods

byteSwap :: a -> a Source #

newtype ByteOrdered (end :: ByteOrder) a Source #

Constructors

ByteOrdered 

Fields

Instances

Instances details
Enum a => Enum (ByteOrdered end a) Source # 
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) Source # 
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) Source # 
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) Source # 
Instance details

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

Methods

toRational :: ByteOrdered end a -> Rational #

Show a => Show (ByteOrdered end a) Source # 
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 #

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

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

Associated Types

type SizeOf (ByteOrdered 'BigEndian a) :: Natural Source #

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

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

Associated Types

type SizeOf (ByteOrdered 'LittleEndian a) :: Natural Source #

Eq a => Eq (ByteOrdered end a) Source # 
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) Source # 
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) Source # 
Instance details

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

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

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

type SizeOf (ByteOrdered 'BigEndian a) Source # 
Instance details

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

type SizeOf (ByteOrdered 'LittleEndian a) Source # 
Instance details

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

newtype PrimByteSwapped a Source #

Newtype for easier instance derivation.

Constructors

PrimByteSwapped 

Fields

Instances

Instances details
(Prim' a, ByteSwap a) => Prim' (PrimByteSwapped a) Source # 
Instance details

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

Associated Types

type SizeOf (PrimByteSwapped a) :: Natural Source #

(Prim a, ByteSwap a) => Prim (PrimByteSwapped a) Source #

Prim instance where we byte swap at accesses.

Instance details

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

type SizeOf (PrimByteSwapped a) Source # 
Instance details

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