pantry-0.4.0.2: Content addressable Haskell package management
Safe HaskellNone
LanguageHaskell2010

Pantry.Internal.StaticBytes

Description

This is an unstable API, exposed only for testing. Relying on this may break your code! Caveat emptor.

This module can (and perhaps should) be separate into its own package, it's generally useful.

Documentation

data Bytes8 Source #

Instances

Instances details
Eq Bytes8 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Data Bytes8 Source # 
Instance details

Defined in Pantry.Internal.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 #

Ord Bytes8 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Show Bytes8 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Generic Bytes8 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Associated Types

type Rep Bytes8 :: Type -> Type Source #

NFData Bytes8 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Methods

rnf :: Bytes8 -> () Source #

Hashable Bytes8 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Methods

hashWithSalt :: Int -> Bytes8 -> Int

hash :: Bytes8 -> Int

ByteArrayAccess Bytes8 Source # 
Instance details

Defined in Pantry.Internal.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 Pantry.Internal.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 Pantry.Internal.StaticBytes

type Rep Bytes8 = D1 ('MetaData "Bytes8" "Pantry.Internal.StaticBytes" "pantry-0.4.0.2-ETSzthT64wgLZ1gxgdpmY6" 'True) (C1 ('MetaCons "Bytes8" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

data Bytes16 Source #

Instances

Instances details
Eq Bytes16 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Data Bytes16 Source # 
Instance details

Defined in Pantry.Internal.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 #

Ord Bytes16 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Show Bytes16 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Generic Bytes16 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Associated Types

type Rep Bytes16 :: Type -> Type Source #

NFData Bytes16 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Methods

rnf :: Bytes16 -> () Source #

Hashable Bytes16 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Methods

hashWithSalt :: Int -> Bytes16 -> Int

hash :: Bytes16 -> Int

ByteArrayAccess Bytes16 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

StaticBytes Bytes16 Source # 
Instance details

Defined in Pantry.Internal.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 Pantry.Internal.StaticBytes

type Rep Bytes16 = D1 ('MetaData "Bytes16" "Pantry.Internal.StaticBytes" "pantry-0.4.0.2-ETSzthT64wgLZ1gxgdpmY6" '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 #

Instances

Instances details
Eq Bytes32 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Data Bytes32 Source # 
Instance details

Defined in Pantry.Internal.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 #

Ord Bytes32 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Show Bytes32 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Generic Bytes32 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Associated Types

type Rep Bytes32 :: Type -> Type Source #

NFData Bytes32 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Methods

rnf :: Bytes32 -> () Source #

Hashable Bytes32 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Methods

hashWithSalt :: Int -> Bytes32 -> Int

hash :: Bytes32 -> Int

ByteArrayAccess Bytes32 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

StaticBytes Bytes32 Source # 
Instance details

Defined in Pantry.Internal.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 Pantry.Internal.StaticBytes

type Rep Bytes32 = D1 ('MetaData "Bytes32" "Pantry.Internal.StaticBytes" "pantry-0.4.0.2-ETSzthT64wgLZ1gxgdpmY6" '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 #

Instances

Instances details
Eq Bytes64 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Data Bytes64 Source # 
Instance details

Defined in Pantry.Internal.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 #

Ord Bytes64 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Show Bytes64 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Generic Bytes64 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Associated Types

type Rep Bytes64 :: Type -> Type Source #

NFData Bytes64 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Methods

rnf :: Bytes64 -> () Source #

Hashable Bytes64 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Methods

hashWithSalt :: Int -> Bytes64 -> Int

hash :: Bytes64 -> Int

ByteArrayAccess Bytes64 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

StaticBytes Bytes64 Source # 
Instance details

Defined in Pantry.Internal.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 Pantry.Internal.StaticBytes

type Rep Bytes64 = D1 ('MetaData "Bytes64" "Pantry.Internal.StaticBytes" "pantry-0.4.0.2-ETSzthT64wgLZ1gxgdpmY6" '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 #

Instances

Instances details
Eq Bytes128 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Data Bytes128 Source # 
Instance details

Defined in Pantry.Internal.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 #

Ord Bytes128 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Show Bytes128 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Generic Bytes128 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Associated Types

type Rep Bytes128 :: Type -> Type Source #

NFData Bytes128 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Methods

rnf :: Bytes128 -> () Source #

Hashable Bytes128 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

ByteArrayAccess Bytes128 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

StaticBytes Bytes128 Source # 
Instance details

Defined in Pantry.Internal.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 Pantry.Internal.StaticBytes

type Rep Bytes128 = D1 ('MetaData "Bytes128" "Pantry.Internal.StaticBytes" "pantry-0.4.0.2-ETSzthT64wgLZ1gxgdpmY6" '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 Pantry.Internal.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 Pantry.Internal.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 Pantry.Internal.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 Pantry.Internal.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 Pantry.Internal.StaticBytes

Methods

lengthS :: proxy Bytes128 -> Int

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

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

StaticBytes Bytes64 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Methods

lengthS :: proxy Bytes64 -> Int

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

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

StaticBytes Bytes32 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Methods

lengthS :: proxy Bytes32 -> Int

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

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

StaticBytes Bytes16 Source # 
Instance details

Defined in Pantry.Internal.StaticBytes

Methods

lengthS :: proxy Bytes16 -> Int

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

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

StaticBytes Bytes8 Source # 
Instance details

Defined in Pantry.Internal.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 #