| Safe Haskell | Safe-Inferred | 
|---|---|
| Language | Haskell2010 | 
PlutusCore.Flat.Memory
Description
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 #
Lifted wrapper for ByteArray#.
Since ByteArray# is an unlifted type and not a member of kind Type,
 things like [ByteArray#] or IO ByteArray# are ill-typed. To work around this
 inconvenience this module provides a standard lifted wrapper, inhabiting Type.
 Clients are expected to use ByteArray in higher-level APIs,
 but wrap and unwrap ByteArray internally as they please
 and use functions from GHC.Exts.
Since: base-4.17.0.0
Instances
| Data ByteArray | Since: base-4.17.0.0 | 
| Defined in Data.Array.Byte Methods gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → ByteArray → c ByteArray Source # gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c ByteArray Source # toConstr ∷ ByteArray → Constr Source # dataTypeOf ∷ ByteArray → DataType Source # dataCast1 ∷ Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c ByteArray) Source # dataCast2 ∷ Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c ByteArray) Source # gmapT ∷ (∀ b. Data b ⇒ b → b) → ByteArray → ByteArray Source # gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → ByteArray → r Source # gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → ByteArray → r Source # gmapQ ∷ (∀ d. Data d ⇒ d → u) → ByteArray → [u] Source # gmapQi ∷ Int → (∀ d. Data d ⇒ d → u) → ByteArray → u Source # gmapM ∷ Monad m ⇒ (∀ d. Data d ⇒ d → m d) → ByteArray → m ByteArray Source # gmapMp ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → ByteArray → m ByteArray Source # gmapMo ∷ MonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → ByteArray → m ByteArray Source # | |
| Monoid ByteArray | Since: base-4.17.0.0 | 
| Semigroup ByteArray | Since: base-4.17.0.0 | 
| IsList ByteArray | Since: base-4.17.0.0 | 
| Show ByteArray | Since: base-4.17.0.0 | 
| NFData ByteArray | Since: deepseq-1.4.7.0 | 
| Defined in Control.DeepSeq | |
| Eq ByteArray | Since: base-4.17.0.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: base-4.17.0.0 | 
| Defined in Data.Array.Byte | |
| Hashable ByteArray | This instance was available since 1.4.1.0 only for GHC-9.4+ Since: hashable-1.4.2.0 | 
| Lift ByteArray | Since: template-haskell-2.19.0.0 | 
| type Item ByteArray | |
| Defined in Data.Array.Byte | |
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)
Arguments
| ∷ Ptr Word8 | sourcePtr | 
| → Int | sourceLen | 
| → ByteString | 
Create a new bytestring, copying sourceLen bytes from sourcePtr
Since: 0.6