Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Memory access primitives.
Includes code from the store-core package.
Synopsis
- chunksToByteString :: (Ptr Word8, [Int]) -> ByteString
- chunksToByteArray :: (Ptr Word8, [Int]) -> (ByteArray, Int)
- data ByteArray
- pokeByteArray :: ByteArray# -> Int -> Int -> Ptr Word8 -> IO (Ptr Word8)
- pokeByteString :: ByteString -> Ptr Word8 -> IO (Ptr Word8)
- unsafeCreateUptoN' :: Int -> (Ptr Word8 -> IO (Int, a)) -> (ByteString, a)
- minusPtr :: Ptr a -> Ptr b -> Int
- peekByteString :: Ptr Word8 -> Int -> ByteString
Documentation
chunksToByteString :: (Ptr Word8, [Int]) -> ByteString Source #
Byte arrays.
Instances
Data ByteArray | |
Defined in Data.Primitive.ByteArray gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ByteArray -> c ByteArray Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ByteArray Source # toConstr :: ByteArray -> Constr Source # dataTypeOf :: ByteArray -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ByteArray) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ByteArray) Source # gmapT :: (forall b. Data b => b -> b) -> ByteArray -> ByteArray Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ByteArray -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ByteArray -> r Source # gmapQ :: (forall d. Data d => d -> u) -> ByteArray -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> ByteArray -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteArray -> m ByteArray Source # | |
Monoid ByteArray | |
Semigroup ByteArray | |
IsList ByteArray | Since: primitive-0.6.3.0 |
Show ByteArray | Behavior changed in 0.7.2.0. Before 0.7.2.0, this instance rendered
8-bit words less than 16 as a single hexadecimal digit (e.g. 13 was Since: primitive-0.6.3.0 |
NFData ByteArray | |
Defined in Data.Primitive.ByteArray | |
Eq ByteArray | Since: primitive-0.6.3.0 |
Ord ByteArray | Non-lexicographic ordering. This compares the lengths of the byte arrays first and uses a lexicographic ordering if the lengths are equal. Subject to change between major versions. Since: primitive-0.6.3.0 |
Defined in Data.Primitive.ByteArray | |
Lift ByteArray | Respects array pinnedness for GHC >= 8.2 |
type Item ByteArray | |
Defined in Data.Primitive.ByteArray |
pokeByteArray :: ByteArray# -> Int -> Int -> Ptr Word8 -> IO (Ptr Word8) Source #
Copy ByteArray to given pointer, returns new pointer
pokeByteString :: ByteString -> Ptr Word8 -> IO (Ptr Word8) Source #
Copy bytestring to given pointer, returns new pointer
unsafeCreateUptoN' :: Int -> (Ptr Word8 -> IO (Int, a)) -> (ByteString, a) Source #
minusPtr :: Ptr a -> Ptr b -> Int Source #
Computes the offset required to get from the second to the first argument. We have
p2 == p1 `plusPtr` (p2 `minusPtr` p1)
:: Ptr Word8 | sourcePtr |
-> Int | sourceLen |
-> ByteString |
Create a new bytestring, copying sourceLen bytes from sourcePtr
Since: 0.6