static-bytes-0.1.0: A Haskell library providing types representing 8, 16, 32, 64 or 128 bytes of data.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.StaticBytes

Synopsis

Documentation

data Bytes8 Source #

A type representing 8 bytes of data.

Instances

Instances details
Data Bytes8 Source # 
Instance details

Defined in Data.StaticBytes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bytes8 -> c Bytes8 Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bytes8 Source #

toConstr :: Bytes8 -> Constr Source #

dataTypeOf :: Bytes8 -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bytes8) Source #

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

gmapT :: (forall b. Data b => b -> b) -> Bytes8 -> Bytes8 Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bytes8 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bytes8 -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Bytes8 -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Bytes8 -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bytes8 -> m Bytes8 Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes8 -> m Bytes8 Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes8 -> m Bytes8 Source #

Generic Bytes8 Source # 
Instance details

Defined in Data.StaticBytes

Associated Types

type Rep Bytes8 :: Type -> Type Source #

Show Bytes8 Source # 
Instance details

Defined in Data.StaticBytes

NFData Bytes8 Source # 
Instance details

Defined in Data.StaticBytes

Methods

rnf :: Bytes8 -> () Source #

Eq Bytes8 Source # 
Instance details

Defined in Data.StaticBytes

Ord Bytes8 Source # 
Instance details

Defined in Data.StaticBytes

Hashable Bytes8 Source # 
Instance details

Defined in Data.StaticBytes

Methods

hashWithSalt :: Int -> Bytes8 -> Int

hash :: Bytes8 -> Int

ByteArrayAccess Bytes8 Source # 
Instance details

Defined in Data.StaticBytes

Methods

length :: Bytes8 -> Int Source #

withByteArray :: Bytes8 -> (Ptr p -> IO a) -> IO a Source #

copyByteArrayToPtr :: Bytes8 -> Ptr p -> IO () Source #

StaticBytes Bytes8 Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthS :: proxy Bytes8 -> Int

toWordsS :: Bytes8 -> [Word64] -> [Word64]

usePeekS :: Int -> (Int -> IO Word64) -> IO Bytes8

type Rep Bytes8 Source # 
Instance details

Defined in Data.StaticBytes

type Rep Bytes8 = D1 ('MetaData "Bytes8" "Data.StaticBytes" "static-bytes-0.1.0-HHf76qfNYl99y0K1RqPbcK" 'True) (C1 ('MetaCons "Bytes8" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

data Bytes16 Source #

A type representing 16 bytes of data.

Instances

Instances details
Data Bytes16 Source # 
Instance details

Defined in Data.StaticBytes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bytes16 -> c Bytes16 Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bytes16 Source #

toConstr :: Bytes16 -> Constr Source #

dataTypeOf :: Bytes16 -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bytes16) Source #

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

gmapT :: (forall b. Data b => b -> b) -> Bytes16 -> Bytes16 Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bytes16 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bytes16 -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Bytes16 -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Bytes16 -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bytes16 -> m Bytes16 Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes16 -> m Bytes16 Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes16 -> m Bytes16 Source #

Generic Bytes16 Source # 
Instance details

Defined in Data.StaticBytes

Associated Types

type Rep Bytes16 :: Type -> Type Source #

Show Bytes16 Source # 
Instance details

Defined in Data.StaticBytes

NFData Bytes16 Source # 
Instance details

Defined in Data.StaticBytes

Methods

rnf :: Bytes16 -> () Source #

Eq Bytes16 Source # 
Instance details

Defined in Data.StaticBytes

Ord Bytes16 Source # 
Instance details

Defined in Data.StaticBytes

Hashable Bytes16 Source # 
Instance details

Defined in Data.StaticBytes

Methods

hashWithSalt :: Int -> Bytes16 -> Int

hash :: Bytes16 -> Int

ByteArrayAccess Bytes16 Source # 
Instance details

Defined in Data.StaticBytes

StaticBytes Bytes16 Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthS :: proxy Bytes16 -> Int

toWordsS :: Bytes16 -> [Word64] -> [Word64]

usePeekS :: Int -> (Int -> IO Word64) -> IO Bytes16

type Rep Bytes16 Source # 
Instance details

Defined in Data.StaticBytes

type Rep Bytes16 = D1 ('MetaData "Bytes16" "Data.StaticBytes" "static-bytes-0.1.0-HHf76qfNYl99y0K1RqPbcK" 'False) (C1 ('MetaCons "Bytes16" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bytes8) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bytes8)))

data Bytes32 Source #

A type representing 32 bytes of data.

Instances

Instances details
Data Bytes32 Source # 
Instance details

Defined in Data.StaticBytes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bytes32 -> c Bytes32 Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bytes32 Source #

toConstr :: Bytes32 -> Constr Source #

dataTypeOf :: Bytes32 -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bytes32) Source #

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

gmapT :: (forall b. Data b => b -> b) -> Bytes32 -> Bytes32 Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bytes32 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bytes32 -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Bytes32 -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Bytes32 -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bytes32 -> m Bytes32 Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes32 -> m Bytes32 Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes32 -> m Bytes32 Source #

Generic Bytes32 Source # 
Instance details

Defined in Data.StaticBytes

Associated Types

type Rep Bytes32 :: Type -> Type Source #

Show Bytes32 Source # 
Instance details

Defined in Data.StaticBytes

NFData Bytes32 Source # 
Instance details

Defined in Data.StaticBytes

Methods

rnf :: Bytes32 -> () Source #

Eq Bytes32 Source # 
Instance details

Defined in Data.StaticBytes

Ord Bytes32 Source # 
Instance details

Defined in Data.StaticBytes

Hashable Bytes32 Source # 
Instance details

Defined in Data.StaticBytes

Methods

hashWithSalt :: Int -> Bytes32 -> Int

hash :: Bytes32 -> Int

ByteArrayAccess Bytes32 Source # 
Instance details

Defined in Data.StaticBytes

StaticBytes Bytes32 Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthS :: proxy Bytes32 -> Int

toWordsS :: Bytes32 -> [Word64] -> [Word64]

usePeekS :: Int -> (Int -> IO Word64) -> IO Bytes32

type Rep Bytes32 Source # 
Instance details

Defined in Data.StaticBytes

type Rep Bytes32 = D1 ('MetaData "Bytes32" "Data.StaticBytes" "static-bytes-0.1.0-HHf76qfNYl99y0K1RqPbcK" 'False) (C1 ('MetaCons "Bytes32" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bytes16) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bytes16)))

data Bytes64 Source #

A type representing 64 bytes of data.

Instances

Instances details
Data Bytes64 Source # 
Instance details

Defined in Data.StaticBytes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bytes64 -> c Bytes64 Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bytes64 Source #

toConstr :: Bytes64 -> Constr Source #

dataTypeOf :: Bytes64 -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bytes64) Source #

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

gmapT :: (forall b. Data b => b -> b) -> Bytes64 -> Bytes64 Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bytes64 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bytes64 -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Bytes64 -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Bytes64 -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bytes64 -> m Bytes64 Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes64 -> m Bytes64 Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes64 -> m Bytes64 Source #

Generic Bytes64 Source # 
Instance details

Defined in Data.StaticBytes

Associated Types

type Rep Bytes64 :: Type -> Type Source #

Show Bytes64 Source # 
Instance details

Defined in Data.StaticBytes

NFData Bytes64 Source # 
Instance details

Defined in Data.StaticBytes

Methods

rnf :: Bytes64 -> () Source #

Eq Bytes64 Source # 
Instance details

Defined in Data.StaticBytes

Ord Bytes64 Source # 
Instance details

Defined in Data.StaticBytes

Hashable Bytes64 Source # 
Instance details

Defined in Data.StaticBytes

Methods

hashWithSalt :: Int -> Bytes64 -> Int

hash :: Bytes64 -> Int

ByteArrayAccess Bytes64 Source # 
Instance details

Defined in Data.StaticBytes

StaticBytes Bytes64 Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthS :: proxy Bytes64 -> Int

toWordsS :: Bytes64 -> [Word64] -> [Word64]

usePeekS :: Int -> (Int -> IO Word64) -> IO Bytes64

type Rep Bytes64 Source # 
Instance details

Defined in Data.StaticBytes

type Rep Bytes64 = D1 ('MetaData "Bytes64" "Data.StaticBytes" "static-bytes-0.1.0-HHf76qfNYl99y0K1RqPbcK" 'False) (C1 ('MetaCons "Bytes64" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bytes32) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bytes32)))

data Bytes128 Source #

A type representing 128 bytes of data.

Instances

Instances details
Data Bytes128 Source # 
Instance details

Defined in Data.StaticBytes

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bytes128 -> c Bytes128 Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bytes128 Source #

toConstr :: Bytes128 -> Constr Source #

dataTypeOf :: Bytes128 -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bytes128) Source #

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

gmapT :: (forall b. Data b => b -> b) -> Bytes128 -> Bytes128 Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bytes128 -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bytes128 -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Bytes128 -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Bytes128 -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bytes128 -> m Bytes128 Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes128 -> m Bytes128 Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bytes128 -> m Bytes128 Source #

Generic Bytes128 Source # 
Instance details

Defined in Data.StaticBytes

Associated Types

type Rep Bytes128 :: Type -> Type Source #

Show Bytes128 Source # 
Instance details

Defined in Data.StaticBytes

NFData Bytes128 Source # 
Instance details

Defined in Data.StaticBytes

Methods

rnf :: Bytes128 -> () Source #

Eq Bytes128 Source # 
Instance details

Defined in Data.StaticBytes

Ord Bytes128 Source # 
Instance details

Defined in Data.StaticBytes

Hashable Bytes128 Source # 
Instance details

Defined in Data.StaticBytes

ByteArrayAccess Bytes128 Source # 
Instance details

Defined in Data.StaticBytes

StaticBytes Bytes128 Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthS :: proxy Bytes128 -> Int

toWordsS :: Bytes128 -> [Word64] -> [Word64]

usePeekS :: Int -> (Int -> IO Word64) -> IO Bytes128

type Rep Bytes128 Source # 
Instance details

Defined in Data.StaticBytes

type Rep Bytes128 = D1 ('MetaData "Bytes128" "Data.StaticBytes" "static-bytes-0.1.0-HHf76qfNYl99y0K1RqPbcK" 'False) (C1 ('MetaCons "Bytes128" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bytes64) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bytes64)))

class DynamicBytes dbytes Source #

Minimal complete definition

lengthD, withPeekD, fromWordsD

Instances

Instances details
DynamicBytes ByteString Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthD :: ByteString -> Int

withPeekD :: ByteString -> ((Int -> IO Word64) -> IO a) -> IO a

fromWordsD :: Int -> [Word64] -> ByteString

word8 ~ Word8 => DynamicBytes (Vector word8) Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthD :: Vector word8 -> Int

withPeekD :: Vector word8 -> ((Int -> IO Word64) -> IO a) -> IO a

fromWordsD :: Int -> [Word64] -> Vector word8

word8 ~ Word8 => DynamicBytes (Vector word8) Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthD :: Vector word8 -> Int

withPeekD :: Vector word8 -> ((Int -> IO Word64) -> IO a) -> IO a

fromWordsD :: Int -> [Word64] -> Vector word8

word8 ~ Word8 => DynamicBytes (Vector word8) Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthD :: Vector word8 -> Int

withPeekD :: Vector word8 -> ((Int -> IO Word64) -> IO a) -> IO a

fromWordsD :: Int -> [Word64] -> Vector word8

class StaticBytes sbytes Source #

Minimal complete definition

lengthS, toWordsS, usePeekS

Instances

Instances details
StaticBytes Bytes128 Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthS :: proxy Bytes128 -> Int

toWordsS :: Bytes128 -> [Word64] -> [Word64]

usePeekS :: Int -> (Int -> IO Word64) -> IO Bytes128

StaticBytes Bytes16 Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthS :: proxy Bytes16 -> Int

toWordsS :: Bytes16 -> [Word64] -> [Word64]

usePeekS :: Int -> (Int -> IO Word64) -> IO Bytes16

StaticBytes Bytes32 Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthS :: proxy Bytes32 -> Int

toWordsS :: Bytes32 -> [Word64] -> [Word64]

usePeekS :: Int -> (Int -> IO Word64) -> IO Bytes32

StaticBytes Bytes64 Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthS :: proxy Bytes64 -> Int

toWordsS :: Bytes64 -> [Word64] -> [Word64]

usePeekS :: Int -> (Int -> IO Word64) -> IO Bytes64

StaticBytes Bytes8 Source # 
Instance details

Defined in Data.StaticBytes

Methods

lengthS :: proxy Bytes8 -> Int

toWordsS :: Bytes8 -> [Word64] -> [Word64]

usePeekS :: Int -> (Int -> IO Word64) -> IO Bytes8

toStaticExact :: forall dbytes sbytes. (DynamicBytes dbytes, StaticBytes sbytes) => dbytes -> Either StaticBytesException sbytes Source #

toStaticPad :: forall dbytes sbytes. (DynamicBytes dbytes, StaticBytes sbytes) => dbytes -> Either StaticBytesException sbytes Source #

toStaticTruncate :: forall dbytes sbytes. (DynamicBytes dbytes, StaticBytes sbytes) => dbytes -> Either StaticBytesException sbytes Source #

toStaticPadTruncate :: (DynamicBytes dbytes, StaticBytes sbytes) => dbytes -> sbytes Source #

fromStatic :: forall dbytes sbytes. (DynamicBytes dbytes, StaticBytes sbytes) => sbytes -> dbytes Source #