| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Mutable
Description
Classes and concrete implementations for mutable data structures.
For more information on the design of this library, see the README file, also available at http://www.stackage.org/package/mutable-containers.
Synopsis
- data PRef s a
- type IOPRef = PRef (PrimState IO)
- asPRef :: PRef s a -> PRef s a
- data URef s a
- type IOURef = URef (PrimState IO)
- asURef :: URef s a -> URef s a
- data SRef s a
- type IOSRef = SRef (PrimState IO)
- asSRef :: SRef s a -> SRef s a
- data BRef s a
- type IOBRef = BRef (PrimState IO)
- asBRef :: BRef s a -> BRef s a
- data IORef a
- asIORef :: IORef a -> IORef a
- data STRef s a
- asSTRef :: STRef s a -> STRef s a
- data MutVar s a
- asMutVar :: MutVar s a -> MutVar s a
- data Deque (v :: Type -> Type -> Type) s a
- type UDeque = Deque MVector
- asUDeque :: UDeque s a -> UDeque s a
- type SDeque = Deque MVector
- asSDeque :: SDeque s a -> SDeque s a
- type BDeque = Deque MVector
- asBDeque :: BDeque s a -> BDeque s a
- data DLList s a
- asDLList :: DLList s a -> DLList s a
- class MutableContainer c where
- type MCState c
- class MutableContainer c => MutableRef c where
- type RefElement c
- newRef :: (PrimMonad m, PrimState m ~ MCState c) => RefElement c -> m c
- readRef :: (PrimMonad m, PrimState m ~ MCState c) => c -> m (RefElement c)
- writeRef :: (PrimMonad m, PrimState m ~ MCState c) => c -> RefElement c -> m ()
- modifyRef :: (PrimMonad m, PrimState m ~ MCState c) => c -> (RefElement c -> RefElement c) -> m ()
- modifyRef' :: (PrimMonad m, PrimState m ~ MCState c) => c -> (RefElement c -> RefElement c) -> m ()
- class MutableRef c => MutableAtomicRef c where
- atomicModifyRef :: (PrimMonad m, PrimState m ~ MCState c) => c -> (RefElement c -> (RefElement c, a)) -> m a
- atomicModifyRef' :: (PrimMonad m, PrimState m ~ MCState c) => c -> (RefElement c -> (RefElement c, a)) -> m a
- class MutableContainer c => MutableCollection c where
- class MutableCollection c => MutablePushFront c where
- class MutableCollection c => MutablePushBack c where
- class MutableCollection c => MutablePopFront c where
- class MutableCollection c => MutablePopBack c where
- type MutableQueue c = (MutablePopFront c, MutablePushBack c)
- type MutableStack c = (MutablePopFront c, MutablePushFront c)
- type MutableDeque c = (MutableQueue c, MutablePushFront c, MutablePopBack c)
- class Monad m => PrimMonad (m :: Type -> Type)
- type family PrimState (m :: Type -> Type)
- data RealWorld
- class Prim a
- class (Vector Vector a, MVector MVector a) => Unbox a
- class Storable a
Data types
Single-cell mutable references
A primitive ByteArray reference, supporting any monad.
Since 0.2.0
Instances
An unboxed vector reference, supporting any monad.
Since 0.2.0
Instances
| MutableContainer (URef s a) Source # | |||||
Defined in Data.Mutable.URef Associated Types
| |||||
| Unbox a => MutableRef (URef s a) Source # | |||||
Defined in Data.Mutable.URef Associated Types
Methods newRef :: (PrimMonad m, PrimState m ~ MCState (URef s a)) => RefElement (URef s a) -> m (URef s a) Source # readRef :: (PrimMonad m, PrimState m ~ MCState (URef s a)) => URef s a -> m (RefElement (URef s a)) Source # writeRef :: (PrimMonad m, PrimState m ~ MCState (URef s a)) => URef s a -> RefElement (URef s a) -> m () Source # modifyRef :: (PrimMonad m, PrimState m ~ MCState (URef s a)) => URef s a -> (RefElement (URef s a) -> RefElement (URef s a)) -> m () Source # modifyRef' :: (PrimMonad m, PrimState m ~ MCState (URef s a)) => URef s a -> (RefElement (URef s a) -> RefElement (URef s a)) -> m () Source # | |||||
| type MCState (URef s a) Source # | |||||
Defined in Data.Mutable.URef | |||||
| type RefElement (URef s a) Source # | |||||
Defined in Data.Mutable.URef | |||||
A storable vector reference, supporting any monad.
Since 0.2.0
Instances
| MutableContainer (SRef s a) Source # | |||||
Defined in Data.Mutable.SRef Associated Types
| |||||
| Storable a => MutableRef (SRef s a) Source # | |||||
Defined in Data.Mutable.SRef Associated Types
Methods newRef :: (PrimMonad m, PrimState m ~ MCState (SRef s a)) => RefElement (SRef s a) -> m (SRef s a) Source # readRef :: (PrimMonad m, PrimState m ~ MCState (SRef s a)) => SRef s a -> m (RefElement (SRef s a)) Source # writeRef :: (PrimMonad m, PrimState m ~ MCState (SRef s a)) => SRef s a -> RefElement (SRef s a) -> m () Source # modifyRef :: (PrimMonad m, PrimState m ~ MCState (SRef s a)) => SRef s a -> (RefElement (SRef s a) -> RefElement (SRef s a)) -> m () Source # modifyRef' :: (PrimMonad m, PrimState m ~ MCState (SRef s a)) => SRef s a -> (RefElement (SRef s a) -> RefElement (SRef s a)) -> m () Source # | |||||
| type MCState (SRef s a) Source # | |||||
Defined in Data.Mutable.SRef | |||||
| type RefElement (SRef s a) Source # | |||||
Defined in Data.Mutable.SRef | |||||
A boxed vector reference, supporting any monad.
Since 0.2.0
Instances
| Monoid w => MutableCollection (BRef s w) Source # | |||||
Defined in Data.Mutable.BRef Associated Types
| |||||
| MutableContainer (BRef s a) Source # | |||||
Defined in Data.Mutable.BRef Associated Types
| |||||
| IsSequence seq => MutablePopBack (BRef s seq) Source # | |||||
| IsSequence seq => MutablePopFront (BRef s seq) Source # | |||||
| IsSequence seq => MutablePushBack (BRef s seq) Source # | |||||
| IsSequence seq => MutablePushFront (BRef s seq) Source # | |||||
| MutableRef (BRef s a) Source # | |||||
Defined in Data.Mutable.BRef Associated Types
Methods newRef :: (PrimMonad m, PrimState m ~ MCState (BRef s a)) => RefElement (BRef s a) -> m (BRef s a) Source # readRef :: (PrimMonad m, PrimState m ~ MCState (BRef s a)) => BRef s a -> m (RefElement (BRef s a)) Source # writeRef :: (PrimMonad m, PrimState m ~ MCState (BRef s a)) => BRef s a -> RefElement (BRef s a) -> m () Source # modifyRef :: (PrimMonad m, PrimState m ~ MCState (BRef s a)) => BRef s a -> (RefElement (BRef s a) -> RefElement (BRef s a)) -> m () Source # modifyRef' :: (PrimMonad m, PrimState m ~ MCState (BRef s a)) => BRef s a -> (RefElement (BRef s a) -> RefElement (BRef s a)) -> m () Source # | |||||
| type CollElement (BRef s w) Source # | |||||
Defined in Data.Mutable.BRef | |||||
| type MCState (BRef s a) Source # | |||||
Defined in Data.Mutable.BRef | |||||
| type RefElement (BRef s a) Source # | |||||
Defined in Data.Mutable.BRef | |||||
Standard re-exports
A mutable variable in the IO monad.
>>>import GHC.Internal.Data.IORef>>>r <- newIORef 0>>>readIORef r0>>>writeIORef r 1>>>readIORef r1>>>atomicWriteIORef r 2>>>readIORef r2>>>modifyIORef' r (+ 1)>>>readIORef r3>>>atomicModifyIORef' r (\a -> (a + 1, ()))>>>readIORef r4
Instances
| Eq (IORef a) | Pointer equality. Since: base-4.0.0.0 | ||||
| MutableAtomicRef (IORef a) Source # | |||||
Defined in Data.Mutable.Class Methods atomicModifyRef :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> (RefElement (IORef a) -> (RefElement (IORef a), a0)) -> m a0 Source # atomicModifyRef' :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> (RefElement (IORef a) -> (RefElement (IORef a), a0)) -> m a0 Source # | |||||
| Monoid w => MutableCollection (IORef w) Source # | |||||
Defined in Data.Mutable.Class Associated Types
| |||||
| MutableContainer (IORef a) Source # | |||||
Defined in Data.Mutable.Class | |||||
| IsSequence a => MutablePopBack (IORef a) Source # | |||||
| IsSequence a => MutablePopFront (IORef a) Source # | |||||
| IsSequence a => MutablePushBack (IORef a) Source # | |||||
| IsSequence a => MutablePushFront (IORef a) Source # | |||||
| MutableRef (IORef a) Source # | |||||
Defined in Data.Mutable.Class Associated Types
Methods newRef :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => RefElement (IORef a) -> m (IORef a) Source # readRef :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> m (RefElement (IORef a)) Source # writeRef :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> RefElement (IORef a) -> m () Source # modifyRef :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> (RefElement (IORef a) -> RefElement (IORef a)) -> m () Source # modifyRef' :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> (RefElement (IORef a) -> RefElement (IORef a)) -> m () Source # | |||||
| type CollElement (IORef w) Source # | |||||
Defined in Data.Mutable.Class | |||||
| type MCState (IORef a) Source # | |||||
Defined in Data.Mutable.Class | |||||
| type RefElement (IORef a) Source # | |||||
Defined in Data.Mutable.Class | |||||
a value of type STRef s a is a mutable variable in state thread s,
containing a value of type a
>>>:{runST (do ref <- newSTRef "hello" x <- readSTRef ref writeSTRef ref (x ++ "world") readSTRef ref ) :} "helloworld"
Instances
| Eq (STRef s a) | Pointer equality. Since: base-2.1 | ||||
| Monoid w => MutableCollection (STRef s w) Source # | |||||
Defined in Data.Mutable.Class Associated Types
| |||||
| MutableContainer (STRef s a) Source # | |||||
Defined in Data.Mutable.Class Associated Types
| |||||
| IsSequence a => MutablePopBack (STRef s a) Source # | |||||
| IsSequence a => MutablePopFront (STRef s a) Source # | |||||
| IsSequence a => MutablePushBack (STRef s a) Source # | |||||
| IsSequence a => MutablePushFront (STRef s a) Source # | |||||
| MutableRef (STRef s a) Source # | |||||
Defined in Data.Mutable.Class Associated Types
Methods newRef :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => RefElement (STRef s a) -> m (STRef s a) Source # readRef :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> m (RefElement (STRef s a)) Source # writeRef :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> RefElement (STRef s a) -> m () Source # modifyRef :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> (RefElement (STRef s a) -> RefElement (STRef s a)) -> m () Source # modifyRef' :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> (RefElement (STRef s a) -> RefElement (STRef s a)) -> m () Source # | |||||
| type CollElement (STRef s w) Source # | |||||
Defined in Data.Mutable.Class | |||||
| type MCState (STRef s a) Source # | |||||
Defined in Data.Mutable.Class | |||||
| type RefElement (STRef s a) Source # | |||||
Defined in Data.Mutable.Class | |||||
Instances
| Eq (MutVar s a) | |||||
| MutableAtomicRef (MutVar s a) Source # | |||||
Defined in Data.Mutable.Class Methods atomicModifyRef :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> (RefElement (MutVar s a) -> (RefElement (MutVar s a), a0)) -> m a0 Source # atomicModifyRef' :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> (RefElement (MutVar s a) -> (RefElement (MutVar s a), a0)) -> m a0 Source # | |||||
| Monoid w => MutableCollection (MutVar s w) Source # | |||||
Defined in Data.Mutable.Class Associated Types
| |||||
| MutableContainer (MutVar s a) Source # | |||||
Defined in Data.Mutable.Class Associated Types
| |||||
| IsSequence a => MutablePopBack (MutVar s a) Source # | |||||
| IsSequence a => MutablePopFront (MutVar s a) Source # | |||||
| IsSequence a => MutablePushBack (MutVar s a) Source # | |||||
| IsSequence a => MutablePushFront (MutVar s a) Source # | |||||
| MutableRef (MutVar s a) Source # | |||||
Defined in Data.Mutable.Class Associated Types
Methods newRef :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => RefElement (MutVar s a) -> m (MutVar s a) Source # readRef :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> m (RefElement (MutVar s a)) Source # writeRef :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> RefElement (MutVar s a) -> m () Source # modifyRef :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> (RefElement (MutVar s a) -> RefElement (MutVar s a)) -> m () Source # modifyRef' :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> (RefElement (MutVar s a) -> RefElement (MutVar s a)) -> m () Source # | |||||
| type CollElement (MutVar s w) Source # | |||||
Defined in Data.Mutable.Class | |||||
| type MCState (MutVar s a) Source # | |||||
Defined in Data.Mutable.Class | |||||
| type RefElement (MutVar s a) Source # | |||||
Defined in Data.Mutable.Class | |||||
Collections/queues
data Deque (v :: Type -> Type -> Type) s a Source #
A double-ended queue supporting any underlying vector type and any monad.
This implements a circular double-ended queue with exponential growth.
Since 0.2.0
Instances
| MVector v a => MutableCollection (Deque v s a) Source # | |||||
Defined in Data.Mutable.Deque Associated Types
| |||||
| MutableContainer (Deque v s a) Source # | |||||
Defined in Data.Mutable.Deque Associated Types
| |||||
| MVector v a => MutablePopBack (Deque v s a) Source # | |||||
| MVector v a => MutablePopFront (Deque v s a) Source # | |||||
| MVector v a => MutablePushBack (Deque v s a) Source # | |||||
| MVector v a => MutablePushFront (Deque v s a) Source # | |||||
| type CollElement (Deque v s a) Source # | |||||
Defined in Data.Mutable.Deque | |||||
| type MCState (Deque v s a) Source # | |||||
Defined in Data.Mutable.Deque | |||||
A doubly-linked list.
Since 0.3.0
Instances
| MutableCollection (DLList s a) Source # | |||||
Defined in Data.Mutable.DLList Associated Types
| |||||
| MutableContainer (DLList s a) Source # | |||||
Defined in Data.Mutable.DLList Associated Types
| |||||
| MutablePopBack (DLList s a) Source # | |||||
| MutablePopFront (DLList s a) Source # | |||||
| MutablePushBack (DLList s a) Source # | |||||
| MutablePushFront (DLList s a) Source # | |||||
| type CollElement (DLList s a) Source # | |||||
Defined in Data.Mutable.DLList | |||||
| type MCState (DLList s a) Source # | |||||
Defined in Data.Mutable.DLList | |||||
Type classes
class MutableContainer c Source #
The parent typeclass for all mutable containers.
Since 0.2.0
Associated Types
Associated type giving the primitive state token for the given
container, much like PrimState from primitive.
Since 0.2.0
Instances
| MutableContainer (IORef a) Source # | |||||
Defined in Data.Mutable.Class | |||||
| MutableContainer (STRef s a) Source # | |||||
Defined in Data.Mutable.Class Associated Types
| |||||
| MutableContainer (BRef s a) Source # | |||||
Defined in Data.Mutable.BRef Associated Types
| |||||
| MutableContainer (DLList s a) Source # | |||||
Defined in Data.Mutable.DLList Associated Types
| |||||
| MutableContainer (PRef s a) Source # | |||||
Defined in Data.Mutable.PRef Associated Types
| |||||
| MutableContainer (SRef s a) Source # | |||||
Defined in Data.Mutable.SRef Associated Types
| |||||
| MutableContainer (URef s a) Source # | |||||
Defined in Data.Mutable.URef Associated Types
| |||||
| MutableContainer (MutVar s a) Source # | |||||
Defined in Data.Mutable.Class Associated Types
| |||||
| MutableContainer (Deque v s a) Source # | |||||
Defined in Data.Mutable.Deque Associated Types
| |||||
class MutableContainer c => MutableRef c where Source #
Typeclass for single-cell mutable references.
Since 0.2.0
Associated Types
type RefElement c Source #
Associated type giving the type of the value inside the mutable reference.
Since 0.2.0
Methods
newRef :: (PrimMonad m, PrimState m ~ MCState c) => RefElement c -> m c Source #
Create a new mutable reference with the given value.
Since 0.2.0
readRef :: (PrimMonad m, PrimState m ~ MCState c) => c -> m (RefElement c) Source #
Read the current value in the mutable reference.
Since 0.2.0
writeRef :: (PrimMonad m, PrimState m ~ MCState c) => c -> RefElement c -> m () Source #
Write a new value to the mutable reference.
Since 0.2.0
modifyRef :: (PrimMonad m, PrimState m ~ MCState c) => c -> (RefElement c -> RefElement c) -> m () Source #
Modify the value in the mutable reference, without necessarily forcing the result.
Note: some implementations will force the result, in particular
PRef, SRef, and URef.
Since 0.2.0
modifyRef' :: (PrimMonad m, PrimState m ~ MCState c) => c -> (RefElement c -> RefElement c) -> m () Source #
Modify the value in the mutable reference, forcing the result.
Since 0.2.0
Instances
| MutableRef (IORef a) Source # | |||||
Defined in Data.Mutable.Class Associated Types
Methods newRef :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => RefElement (IORef a) -> m (IORef a) Source # readRef :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> m (RefElement (IORef a)) Source # writeRef :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> RefElement (IORef a) -> m () Source # modifyRef :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> (RefElement (IORef a) -> RefElement (IORef a)) -> m () Source # modifyRef' :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> (RefElement (IORef a) -> RefElement (IORef a)) -> m () Source # | |||||
| MutableRef (STRef s a) Source # | |||||
Defined in Data.Mutable.Class Associated Types
Methods newRef :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => RefElement (STRef s a) -> m (STRef s a) Source # readRef :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> m (RefElement (STRef s a)) Source # writeRef :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> RefElement (STRef s a) -> m () Source # modifyRef :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> (RefElement (STRef s a) -> RefElement (STRef s a)) -> m () Source # modifyRef' :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> (RefElement (STRef s a) -> RefElement (STRef s a)) -> m () Source # | |||||
| MutableRef (BRef s a) Source # | |||||
Defined in Data.Mutable.BRef Associated Types
Methods newRef :: (PrimMonad m, PrimState m ~ MCState (BRef s a)) => RefElement (BRef s a) -> m (BRef s a) Source # readRef :: (PrimMonad m, PrimState m ~ MCState (BRef s a)) => BRef s a -> m (RefElement (BRef s a)) Source # writeRef :: (PrimMonad m, PrimState m ~ MCState (BRef s a)) => BRef s a -> RefElement (BRef s a) -> m () Source # modifyRef :: (PrimMonad m, PrimState m ~ MCState (BRef s a)) => BRef s a -> (RefElement (BRef s a) -> RefElement (BRef s a)) -> m () Source # modifyRef' :: (PrimMonad m, PrimState m ~ MCState (BRef s a)) => BRef s a -> (RefElement (BRef s a) -> RefElement (BRef s a)) -> m () Source # | |||||
| Prim a => MutableRef (PRef s a) Source # | |||||
Defined in Data.Mutable.PRef Associated Types
Methods newRef :: (PrimMonad m, PrimState m ~ MCState (PRef s a)) => RefElement (PRef s a) -> m (PRef s a) Source # readRef :: (PrimMonad m, PrimState m ~ MCState (PRef s a)) => PRef s a -> m (RefElement (PRef s a)) Source # writeRef :: (PrimMonad m, PrimState m ~ MCState (PRef s a)) => PRef s a -> RefElement (PRef s a) -> m () Source # modifyRef :: (PrimMonad m, PrimState m ~ MCState (PRef s a)) => PRef s a -> (RefElement (PRef s a) -> RefElement (PRef s a)) -> m () Source # modifyRef' :: (PrimMonad m, PrimState m ~ MCState (PRef s a)) => PRef s a -> (RefElement (PRef s a) -> RefElement (PRef s a)) -> m () Source # | |||||
| Storable a => MutableRef (SRef s a) Source # | |||||
Defined in Data.Mutable.SRef Associated Types
Methods newRef :: (PrimMonad m, PrimState m ~ MCState (SRef s a)) => RefElement (SRef s a) -> m (SRef s a) Source # readRef :: (PrimMonad m, PrimState m ~ MCState (SRef s a)) => SRef s a -> m (RefElement (SRef s a)) Source # writeRef :: (PrimMonad m, PrimState m ~ MCState (SRef s a)) => SRef s a -> RefElement (SRef s a) -> m () Source # modifyRef :: (PrimMonad m, PrimState m ~ MCState (SRef s a)) => SRef s a -> (RefElement (SRef s a) -> RefElement (SRef s a)) -> m () Source # modifyRef' :: (PrimMonad m, PrimState m ~ MCState (SRef s a)) => SRef s a -> (RefElement (SRef s a) -> RefElement (SRef s a)) -> m () Source # | |||||
| Unbox a => MutableRef (URef s a) Source # | |||||
Defined in Data.Mutable.URef Associated Types
Methods newRef :: (PrimMonad m, PrimState m ~ MCState (URef s a)) => RefElement (URef s a) -> m (URef s a) Source # readRef :: (PrimMonad m, PrimState m ~ MCState (URef s a)) => URef s a -> m (RefElement (URef s a)) Source # writeRef :: (PrimMonad m, PrimState m ~ MCState (URef s a)) => URef s a -> RefElement (URef s a) -> m () Source # modifyRef :: (PrimMonad m, PrimState m ~ MCState (URef s a)) => URef s a -> (RefElement (URef s a) -> RefElement (URef s a)) -> m () Source # modifyRef' :: (PrimMonad m, PrimState m ~ MCState (URef s a)) => URef s a -> (RefElement (URef s a) -> RefElement (URef s a)) -> m () Source # | |||||
| MutableRef (MutVar s a) Source # | |||||
Defined in Data.Mutable.Class Associated Types
Methods newRef :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => RefElement (MutVar s a) -> m (MutVar s a) Source # readRef :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> m (RefElement (MutVar s a)) Source # writeRef :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> RefElement (MutVar s a) -> m () Source # modifyRef :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> (RefElement (MutVar s a) -> RefElement (MutVar s a)) -> m () Source # modifyRef' :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> (RefElement (MutVar s a) -> RefElement (MutVar s a)) -> m () Source # | |||||
class MutableRef c => MutableAtomicRef c where Source #
MutableRefs that provide for atomic modifications of their contents.
Since 0.2.0
Methods
atomicModifyRef :: (PrimMonad m, PrimState m ~ MCState c) => c -> (RefElement c -> (RefElement c, a)) -> m a Source #
Modify the value without necessarily forcing the result.
Since 0.2.0
atomicModifyRef' :: (PrimMonad m, PrimState m ~ MCState c) => c -> (RefElement c -> (RefElement c, a)) -> m a Source #
Modify the value, forcing the result.
Since 0.2.0
Instances
| MutableAtomicRef (IORef a) Source # | |
Defined in Data.Mutable.Class Methods atomicModifyRef :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> (RefElement (IORef a) -> (RefElement (IORef a), a0)) -> m a0 Source # atomicModifyRef' :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> (RefElement (IORef a) -> (RefElement (IORef a), a0)) -> m a0 Source # | |
| MutableAtomicRef (MutVar s a) Source # | |
Defined in Data.Mutable.Class Methods atomicModifyRef :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> (RefElement (MutVar s a) -> (RefElement (MutVar s a), a0)) -> m a0 Source # atomicModifyRef' :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> (RefElement (MutVar s a) -> (RefElement (MutVar s a), a0)) -> m a0 Source # | |
class MutableContainer c => MutableCollection c where Source #
Containers which contain 0 or more values.
Since 0.2.0
Methods
newColl :: (PrimMonad m, PrimState m ~ MCState c) => m c Source #
Create a new, empty collection.
Since 0.2.0
Instances
| Monoid w => MutableCollection (IORef w) Source # | |||||
Defined in Data.Mutable.Class Associated Types
| |||||
| Monoid w => MutableCollection (STRef s w) Source # | |||||
Defined in Data.Mutable.Class Associated Types
| |||||
| Monoid w => MutableCollection (BRef s w) Source # | |||||
Defined in Data.Mutable.BRef Associated Types
| |||||
| MutableCollection (DLList s a) Source # | |||||
Defined in Data.Mutable.DLList Associated Types
| |||||
| Monoid w => MutableCollection (MutVar s w) Source # | |||||
Defined in Data.Mutable.Class Associated Types
| |||||
| MVector v a => MutableCollection (Deque v s a) Source # | |||||
Defined in Data.Mutable.Deque Associated Types
| |||||
class MutableCollection c => MutablePushFront c where Source #
Place a value at the front of the collection.
Since 0.2.0
Methods
pushFront :: (PrimMonad m, PrimState m ~ MCState c) => c -> CollElement c -> m () Source #
Place a value at the front of the collection.
Since 0.2.0
Instances
| IsSequence a => MutablePushFront (IORef a) Source # | |
| IsSequence a => MutablePushFront (STRef s a) Source # | |
| IsSequence seq => MutablePushFront (BRef s seq) Source # | |
| MutablePushFront (DLList s a) Source # | |
| IsSequence a => MutablePushFront (MutVar s a) Source # | |
| MVector v a => MutablePushFront (Deque v s a) Source # | |
class MutableCollection c => MutablePushBack c where Source #
Place a value at the back of the collection.
Since 0.2.0
Methods
pushBack :: (PrimMonad m, PrimState m ~ MCState c) => c -> CollElement c -> m () Source #
Place a value at the back of the collection.
Since 0.2.0
Instances
| IsSequence a => MutablePushBack (IORef a) Source # | |
| IsSequence a => MutablePushBack (STRef s a) Source # | |
| IsSequence seq => MutablePushBack (BRef s seq) Source # | |
| MutablePushBack (DLList s a) Source # | |
| IsSequence a => MutablePushBack (MutVar s a) Source # | |
| MVector v a => MutablePushBack (Deque v s a) Source # | |
class MutableCollection c => MutablePopFront c where Source #
Take a value from the front of the collection, if available.
Since 0.2.0
Methods
popFront :: (PrimMonad m, PrimState m ~ MCState c) => c -> m (Maybe (CollElement c)) Source #
Take a value from the front of the collection, if available.
Since 0.2.0
Instances
| IsSequence a => MutablePopFront (IORef a) Source # | |
| IsSequence a => MutablePopFront (STRef s a) Source # | |
| IsSequence seq => MutablePopFront (BRef s seq) Source # | |
| MutablePopFront (DLList s a) Source # | |
| IsSequence a => MutablePopFront (MutVar s a) Source # | |
| MVector v a => MutablePopFront (Deque v s a) Source # | |
class MutableCollection c => MutablePopBack c where Source #
Take a value from the back of the collection, if available.
Since 0.2.0
Methods
popBack :: (PrimMonad m, PrimState m ~ MCState c) => c -> m (Maybe (CollElement c)) Source #
Take a value from the back of the collection, if available.
Since 0.2.0
Instances
| IsSequence a => MutablePopBack (IORef a) Source # | |
| IsSequence a => MutablePopBack (STRef s a) Source # | |
| IsSequence seq => MutablePopBack (BRef s seq) Source # | |
| MutablePopBack (DLList s a) Source # | |
| IsSequence a => MutablePopBack (MutVar s a) Source # | |
| MVector v a => MutablePopBack (Deque v s a) Source # | |
Constraint kinds
type MutableQueue c = (MutablePopFront c, MutablePushBack c) Source #
Collections which allow pushing and popping at the front (aka FIFOs).
Since 0.2.0
type MutableStack c = (MutablePopFront c, MutablePushFront c) Source #
Collections which allow pushing at the back and popping at the front (aka FILOs).
Since 0.2.0
type MutableDeque c = (MutableQueue c, MutablePushFront c, MutablePopBack c) Source #
Collections which allow pushing and popping at the front and back.
Since 0.2.0
Convenience re-exports
class Monad m => PrimMonad (m :: Type -> Type) #
Minimal complete definition
primitive
Instances
| PrimMonad IO | |
| PrimMonad (ST s) | |
| PrimMonad (ST s) | |
| PrimMonad m => PrimMonad (MaybeT m) | |
| (Monoid w, PrimMonad m) => PrimMonad (AccumT w m) | |
| PrimMonad m => PrimMonad (ExceptT e m) | |
| PrimMonad m => PrimMonad (IdentityT m) | |
| PrimMonad m => PrimMonad (ReaderT r m) | |
| PrimMonad m => PrimMonad (SelectT r m) | |
| PrimMonad m => PrimMonad (StateT s m) | |
| PrimMonad m => PrimMonad (StateT s m) | |
| (Monoid w, PrimMonad m) => PrimMonad (WriterT w m) | |
| (Monoid w, PrimMonad m) => PrimMonad (WriterT w m) | |
| (Monoid w, PrimMonad m) => PrimMonad (WriterT w m) | |
| PrimMonad m => PrimMonad (ContT r m) | |
| (Monoid w, PrimMonad m) => PrimMonad (RWST r w s m) | |
| (Monoid w, PrimMonad m) => PrimMonad (RWST r w s m) | |
| (Monoid w, PrimMonad m) => PrimMonad (RWST r w s m) | |
type family PrimState (m :: Type -> Type) #
Instances
| type PrimState IO | |
Defined in Control.Monad.Primitive | |
| type PrimState (ST s) | |
Defined in Control.Monad.Primitive | |
| type PrimState (ST s) | |
Defined in Control.Monad.Primitive | |
| type PrimState (MaybeT m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (AccumT w m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (ExceptT e m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (IdentityT m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (ReaderT r m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (SelectT r m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (StateT s m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (StateT s m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (WriterT w m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (WriterT w m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (WriterT w m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (ContT r m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (RWST r w s m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (RWST r w s m) | |
Defined in Control.Monad.Primitive | |
| type PrimState (RWST r w s m) | |
Defined in Control.Monad.Primitive | |
Minimal complete definition
(sizeOfType# | sizeOf#), (alignmentOfType# | alignment#), indexByteArray#, readByteArray#, writeByteArray#, indexOffAddr#, readOffAddr#, writeOffAddr#
Instances
| Prim CBool | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CBool -> Int# alignmentOfType# :: Proxy CBool -> Int# alignment# :: CBool -> Int# indexByteArray# :: ByteArray# -> Int# -> CBool readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CBool #) writeByteArray# :: MutableByteArray# s -> Int# -> CBool -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CBool -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CBool readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CBool #) writeOffAddr# :: Addr# -> Int# -> CBool -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CBool -> State# s -> State# s | |
| Prim CChar | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CChar -> Int# alignmentOfType# :: Proxy CChar -> Int# alignment# :: CChar -> Int# indexByteArray# :: ByteArray# -> Int# -> CChar readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CChar #) writeByteArray# :: MutableByteArray# s -> Int# -> CChar -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CChar -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CChar readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CChar #) writeOffAddr# :: Addr# -> Int# -> CChar -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CChar -> State# s -> State# s | |
| Prim CClock | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CClock -> Int# alignmentOfType# :: Proxy CClock -> Int# alignment# :: CClock -> Int# indexByteArray# :: ByteArray# -> Int# -> CClock readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CClock #) writeByteArray# :: MutableByteArray# s -> Int# -> CClock -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CClock -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CClock readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CClock #) writeOffAddr# :: Addr# -> Int# -> CClock -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CClock -> State# s -> State# s | |
| Prim CDouble | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CDouble -> Int# alignmentOfType# :: Proxy CDouble -> Int# alignment# :: CDouble -> Int# indexByteArray# :: ByteArray# -> Int# -> CDouble readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CDouble #) writeByteArray# :: MutableByteArray# s -> Int# -> CDouble -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CDouble -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CDouble readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CDouble #) writeOffAddr# :: Addr# -> Int# -> CDouble -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CDouble -> State# s -> State# s | |
| Prim CFloat | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CFloat -> Int# alignmentOfType# :: Proxy CFloat -> Int# alignment# :: CFloat -> Int# indexByteArray# :: ByteArray# -> Int# -> CFloat readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CFloat #) writeByteArray# :: MutableByteArray# s -> Int# -> CFloat -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CFloat -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CFloat readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CFloat #) writeOffAddr# :: Addr# -> Int# -> CFloat -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CFloat -> State# s -> State# s | |
| Prim CInt | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CInt -> Int# alignmentOfType# :: Proxy CInt -> Int# alignment# :: CInt -> Int# indexByteArray# :: ByteArray# -> Int# -> CInt readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CInt #) writeByteArray# :: MutableByteArray# s -> Int# -> CInt -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CInt -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CInt readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CInt #) writeOffAddr# :: Addr# -> Int# -> CInt -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CInt -> State# s -> State# s | |
| Prim CIntMax | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CIntMax -> Int# alignmentOfType# :: Proxy CIntMax -> Int# alignment# :: CIntMax -> Int# indexByteArray# :: ByteArray# -> Int# -> CIntMax readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CIntMax #) writeByteArray# :: MutableByteArray# s -> Int# -> CIntMax -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CIntMax -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CIntMax readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CIntMax #) writeOffAddr# :: Addr# -> Int# -> CIntMax -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CIntMax -> State# s -> State# s | |
| Prim CIntPtr | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CIntPtr -> Int# alignmentOfType# :: Proxy CIntPtr -> Int# alignment# :: CIntPtr -> Int# indexByteArray# :: ByteArray# -> Int# -> CIntPtr readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CIntPtr #) writeByteArray# :: MutableByteArray# s -> Int# -> CIntPtr -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CIntPtr -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CIntPtr readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CIntPtr #) writeOffAddr# :: Addr# -> Int# -> CIntPtr -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CIntPtr -> State# s -> State# s | |
| Prim CLLong | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CLLong -> Int# alignmentOfType# :: Proxy CLLong -> Int# alignment# :: CLLong -> Int# indexByteArray# :: ByteArray# -> Int# -> CLLong readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CLLong #) writeByteArray# :: MutableByteArray# s -> Int# -> CLLong -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CLLong -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CLLong readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CLLong #) writeOffAddr# :: Addr# -> Int# -> CLLong -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CLLong -> State# s -> State# s | |
| Prim CLong | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CLong -> Int# alignmentOfType# :: Proxy CLong -> Int# alignment# :: CLong -> Int# indexByteArray# :: ByteArray# -> Int# -> CLong readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CLong #) writeByteArray# :: MutableByteArray# s -> Int# -> CLong -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CLong -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CLong readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CLong #) writeOffAddr# :: Addr# -> Int# -> CLong -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CLong -> State# s -> State# s | |
| Prim CPtrdiff | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CPtrdiff -> Int# alignmentOfType# :: Proxy CPtrdiff -> Int# alignment# :: CPtrdiff -> Int# indexByteArray# :: ByteArray# -> Int# -> CPtrdiff readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CPtrdiff #) writeByteArray# :: MutableByteArray# s -> Int# -> CPtrdiff -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CPtrdiff -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CPtrdiff readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CPtrdiff #) writeOffAddr# :: Addr# -> Int# -> CPtrdiff -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CPtrdiff -> State# s -> State# s | |
| Prim CSChar | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CSChar -> Int# alignmentOfType# :: Proxy CSChar -> Int# alignment# :: CSChar -> Int# indexByteArray# :: ByteArray# -> Int# -> CSChar readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSChar #) writeByteArray# :: MutableByteArray# s -> Int# -> CSChar -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSChar -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CSChar readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSChar #) writeOffAddr# :: Addr# -> Int# -> CSChar -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CSChar -> State# s -> State# s | |
| Prim CSUSeconds | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CSUSeconds -> Int# sizeOf# :: CSUSeconds -> Int# alignmentOfType# :: Proxy CSUSeconds -> Int# alignment# :: CSUSeconds -> Int# indexByteArray# :: ByteArray# -> Int# -> CSUSeconds readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSUSeconds #) writeByteArray# :: MutableByteArray# s -> Int# -> CSUSeconds -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSUSeconds -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CSUSeconds readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSUSeconds #) writeOffAddr# :: Addr# -> Int# -> CSUSeconds -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CSUSeconds -> State# s -> State# s | |
| Prim CShort | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CShort -> Int# alignmentOfType# :: Proxy CShort -> Int# alignment# :: CShort -> Int# indexByteArray# :: ByteArray# -> Int# -> CShort readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CShort #) writeByteArray# :: MutableByteArray# s -> Int# -> CShort -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CShort -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CShort readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CShort #) writeOffAddr# :: Addr# -> Int# -> CShort -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CShort -> State# s -> State# s | |
| Prim CSigAtomic | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CSigAtomic -> Int# sizeOf# :: CSigAtomic -> Int# alignmentOfType# :: Proxy CSigAtomic -> Int# alignment# :: CSigAtomic -> Int# indexByteArray# :: ByteArray# -> Int# -> CSigAtomic readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSigAtomic #) writeByteArray# :: MutableByteArray# s -> Int# -> CSigAtomic -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSigAtomic -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CSigAtomic readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSigAtomic #) writeOffAddr# :: Addr# -> Int# -> CSigAtomic -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CSigAtomic -> State# s -> State# s | |
| Prim CSize | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CSize -> Int# alignmentOfType# :: Proxy CSize -> Int# alignment# :: CSize -> Int# indexByteArray# :: ByteArray# -> Int# -> CSize readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSize #) writeByteArray# :: MutableByteArray# s -> Int# -> CSize -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSize -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CSize readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSize #) writeOffAddr# :: Addr# -> Int# -> CSize -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CSize -> State# s -> State# s | |
| Prim CTime | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CTime -> Int# alignmentOfType# :: Proxy CTime -> Int# alignment# :: CTime -> Int# indexByteArray# :: ByteArray# -> Int# -> CTime readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CTime #) writeByteArray# :: MutableByteArray# s -> Int# -> CTime -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CTime -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CTime readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CTime #) writeOffAddr# :: Addr# -> Int# -> CTime -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CTime -> State# s -> State# s | |
| Prim CUChar | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CUChar -> Int# alignmentOfType# :: Proxy CUChar -> Int# alignment# :: CUChar -> Int# indexByteArray# :: ByteArray# -> Int# -> CUChar readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUChar #) writeByteArray# :: MutableByteArray# s -> Int# -> CUChar -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUChar -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CUChar readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUChar #) writeOffAddr# :: Addr# -> Int# -> CUChar -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CUChar -> State# s -> State# s | |
| Prim CUInt | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CUInt -> Int# alignmentOfType# :: Proxy CUInt -> Int# alignment# :: CUInt -> Int# indexByteArray# :: ByteArray# -> Int# -> CUInt readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUInt #) writeByteArray# :: MutableByteArray# s -> Int# -> CUInt -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUInt -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CUInt readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUInt #) writeOffAddr# :: Addr# -> Int# -> CUInt -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CUInt -> State# s -> State# s | |
| Prim CUIntMax | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CUIntMax -> Int# alignmentOfType# :: Proxy CUIntMax -> Int# alignment# :: CUIntMax -> Int# indexByteArray# :: ByteArray# -> Int# -> CUIntMax readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUIntMax #) writeByteArray# :: MutableByteArray# s -> Int# -> CUIntMax -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUIntMax -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CUIntMax readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUIntMax #) writeOffAddr# :: Addr# -> Int# -> CUIntMax -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CUIntMax -> State# s -> State# s | |
| Prim CUIntPtr | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CUIntPtr -> Int# alignmentOfType# :: Proxy CUIntPtr -> Int# alignment# :: CUIntPtr -> Int# indexByteArray# :: ByteArray# -> Int# -> CUIntPtr readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUIntPtr #) writeByteArray# :: MutableByteArray# s -> Int# -> CUIntPtr -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUIntPtr -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CUIntPtr readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUIntPtr #) writeOffAddr# :: Addr# -> Int# -> CUIntPtr -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CUIntPtr -> State# s -> State# s | |
| Prim CULLong | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CULLong -> Int# alignmentOfType# :: Proxy CULLong -> Int# alignment# :: CULLong -> Int# indexByteArray# :: ByteArray# -> Int# -> CULLong readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CULLong #) writeByteArray# :: MutableByteArray# s -> Int# -> CULLong -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CULLong -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CULLong readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CULLong #) writeOffAddr# :: Addr# -> Int# -> CULLong -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CULLong -> State# s -> State# s | |
| Prim CULong | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CULong -> Int# alignmentOfType# :: Proxy CULong -> Int# alignment# :: CULong -> Int# indexByteArray# :: ByteArray# -> Int# -> CULong readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CULong #) writeByteArray# :: MutableByteArray# s -> Int# -> CULong -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CULong -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CULong readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CULong #) writeOffAddr# :: Addr# -> Int# -> CULong -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CULong -> State# s -> State# s | |
| Prim CUSeconds | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CUSeconds -> Int# alignmentOfType# :: Proxy CUSeconds -> Int# alignment# :: CUSeconds -> Int# indexByteArray# :: ByteArray# -> Int# -> CUSeconds readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUSeconds #) writeByteArray# :: MutableByteArray# s -> Int# -> CUSeconds -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUSeconds -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CUSeconds readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUSeconds #) writeOffAddr# :: Addr# -> Int# -> CUSeconds -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CUSeconds -> State# s -> State# s | |
| Prim CUShort | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CUShort -> Int# alignmentOfType# :: Proxy CUShort -> Int# alignment# :: CUShort -> Int# indexByteArray# :: ByteArray# -> Int# -> CUShort readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUShort #) writeByteArray# :: MutableByteArray# s -> Int# -> CUShort -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUShort -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CUShort readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUShort #) writeOffAddr# :: Addr# -> Int# -> CUShort -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CUShort -> State# s -> State# s | |
| Prim CWchar | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CWchar -> Int# alignmentOfType# :: Proxy CWchar -> Int# alignment# :: CWchar -> Int# indexByteArray# :: ByteArray# -> Int# -> CWchar readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CWchar #) writeByteArray# :: MutableByteArray# s -> Int# -> CWchar -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CWchar -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CWchar readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CWchar #) writeOffAddr# :: Addr# -> Int# -> CWchar -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CWchar -> State# s -> State# s | |
| Prim IntPtr | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy IntPtr -> Int# alignmentOfType# :: Proxy IntPtr -> Int# alignment# :: IntPtr -> Int# indexByteArray# :: ByteArray# -> Int# -> IntPtr readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, IntPtr #) writeByteArray# :: MutableByteArray# s -> Int# -> IntPtr -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> IntPtr -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> IntPtr readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, IntPtr #) writeOffAddr# :: Addr# -> Int# -> IntPtr -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> IntPtr -> State# s -> State# s | |
| Prim WordPtr | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy WordPtr -> Int# alignmentOfType# :: Proxy WordPtr -> Int# alignment# :: WordPtr -> Int# indexByteArray# :: ByteArray# -> Int# -> WordPtr readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, WordPtr #) writeByteArray# :: MutableByteArray# s -> Int# -> WordPtr -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> WordPtr -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> WordPtr readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, WordPtr #) writeOffAddr# :: Addr# -> Int# -> WordPtr -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> WordPtr -> State# s -> State# s | |
| Prim Int16 | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Int16 -> Int# alignmentOfType# :: Proxy Int16 -> Int# alignment# :: Int16 -> Int# indexByteArray# :: ByteArray# -> Int# -> Int16 readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int16 #) writeByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int16 -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Int16 readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int16 #) writeOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Int16 -> State# s -> State# s | |
| Prim Int32 | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Int32 -> Int# alignmentOfType# :: Proxy Int32 -> Int# alignment# :: Int32 -> Int# indexByteArray# :: ByteArray# -> Int# -> Int32 readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int32 #) writeByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int32 -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Int32 readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int32 #) writeOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Int32 -> State# s -> State# s | |
| Prim Int64 | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Int64 -> Int# alignmentOfType# :: Proxy Int64 -> Int# alignment# :: Int64 -> Int# indexByteArray# :: ByteArray# -> Int# -> Int64 readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int64 #) writeByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int64 -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Int64 readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int64 #) writeOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Int64 -> State# s -> State# s | |
| Prim Int8 | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Int8 -> Int# alignmentOfType# :: Proxy Int8 -> Int# alignment# :: Int8 -> Int# indexByteArray# :: ByteArray# -> Int# -> Int8 readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int8 #) writeByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int8 -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Int8 readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int8 #) writeOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Int8 -> State# s -> State# s | |
| Prim CBlkCnt | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CBlkCnt -> Int# alignmentOfType# :: Proxy CBlkCnt -> Int# alignment# :: CBlkCnt -> Int# indexByteArray# :: ByteArray# -> Int# -> CBlkCnt readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CBlkCnt #) writeByteArray# :: MutableByteArray# s -> Int# -> CBlkCnt -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CBlkCnt -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CBlkCnt readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CBlkCnt #) writeOffAddr# :: Addr# -> Int# -> CBlkCnt -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CBlkCnt -> State# s -> State# s | |
| Prim CBlkSize | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CBlkSize -> Int# alignmentOfType# :: Proxy CBlkSize -> Int# alignment# :: CBlkSize -> Int# indexByteArray# :: ByteArray# -> Int# -> CBlkSize readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CBlkSize #) writeByteArray# :: MutableByteArray# s -> Int# -> CBlkSize -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CBlkSize -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CBlkSize readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CBlkSize #) writeOffAddr# :: Addr# -> Int# -> CBlkSize -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CBlkSize -> State# s -> State# s | |
| Prim CCc | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CCc -> Int# alignmentOfType# :: Proxy CCc -> Int# alignment# :: CCc -> Int# indexByteArray# :: ByteArray# -> Int# -> CCc readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CCc #) writeByteArray# :: MutableByteArray# s -> Int# -> CCc -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CCc -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CCc readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CCc #) writeOffAddr# :: Addr# -> Int# -> CCc -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CCc -> State# s -> State# s | |
| Prim CClockId | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CClockId -> Int# alignmentOfType# :: Proxy CClockId -> Int# alignment# :: CClockId -> Int# indexByteArray# :: ByteArray# -> Int# -> CClockId readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CClockId #) writeByteArray# :: MutableByteArray# s -> Int# -> CClockId -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CClockId -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CClockId readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CClockId #) writeOffAddr# :: Addr# -> Int# -> CClockId -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CClockId -> State# s -> State# s | |
| Prim CDev | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CDev -> Int# alignmentOfType# :: Proxy CDev -> Int# alignment# :: CDev -> Int# indexByteArray# :: ByteArray# -> Int# -> CDev readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CDev #) writeByteArray# :: MutableByteArray# s -> Int# -> CDev -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CDev -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CDev readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CDev #) writeOffAddr# :: Addr# -> Int# -> CDev -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CDev -> State# s -> State# s | |
| Prim CFsBlkCnt | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CFsBlkCnt -> Int# alignmentOfType# :: Proxy CFsBlkCnt -> Int# alignment# :: CFsBlkCnt -> Int# indexByteArray# :: ByteArray# -> Int# -> CFsBlkCnt readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CFsBlkCnt #) writeByteArray# :: MutableByteArray# s -> Int# -> CFsBlkCnt -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CFsBlkCnt -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CFsBlkCnt readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CFsBlkCnt #) writeOffAddr# :: Addr# -> Int# -> CFsBlkCnt -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CFsBlkCnt -> State# s -> State# s | |
| Prim CFsFilCnt | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CFsFilCnt -> Int# alignmentOfType# :: Proxy CFsFilCnt -> Int# alignment# :: CFsFilCnt -> Int# indexByteArray# :: ByteArray# -> Int# -> CFsFilCnt readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CFsFilCnt #) writeByteArray# :: MutableByteArray# s -> Int# -> CFsFilCnt -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CFsFilCnt -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CFsFilCnt readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CFsFilCnt #) writeOffAddr# :: Addr# -> Int# -> CFsFilCnt -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CFsFilCnt -> State# s -> State# s | |
| Prim CGid | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CGid -> Int# alignmentOfType# :: Proxy CGid -> Int# alignment# :: CGid -> Int# indexByteArray# :: ByteArray# -> Int# -> CGid readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CGid #) writeByteArray# :: MutableByteArray# s -> Int# -> CGid -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CGid -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CGid readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CGid #) writeOffAddr# :: Addr# -> Int# -> CGid -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CGid -> State# s -> State# s | |
| Prim CId | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CId -> Int# alignmentOfType# :: Proxy CId -> Int# alignment# :: CId -> Int# indexByteArray# :: ByteArray# -> Int# -> CId readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CId #) writeByteArray# :: MutableByteArray# s -> Int# -> CId -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CId -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CId readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CId #) writeOffAddr# :: Addr# -> Int# -> CId -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CId -> State# s -> State# s | |
| Prim CIno | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CIno -> Int# alignmentOfType# :: Proxy CIno -> Int# alignment# :: CIno -> Int# indexByteArray# :: ByteArray# -> Int# -> CIno readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CIno #) writeByteArray# :: MutableByteArray# s -> Int# -> CIno -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CIno -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CIno readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CIno #) writeOffAddr# :: Addr# -> Int# -> CIno -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CIno -> State# s -> State# s | |
| Prim CKey | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CKey -> Int# alignmentOfType# :: Proxy CKey -> Int# alignment# :: CKey -> Int# indexByteArray# :: ByteArray# -> Int# -> CKey readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CKey #) writeByteArray# :: MutableByteArray# s -> Int# -> CKey -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CKey -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CKey readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CKey #) writeOffAddr# :: Addr# -> Int# -> CKey -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CKey -> State# s -> State# s | |
| Prim CMode | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CMode -> Int# alignmentOfType# :: Proxy CMode -> Int# alignment# :: CMode -> Int# indexByteArray# :: ByteArray# -> Int# -> CMode readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CMode #) writeByteArray# :: MutableByteArray# s -> Int# -> CMode -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CMode -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CMode readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CMode #) writeOffAddr# :: Addr# -> Int# -> CMode -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CMode -> State# s -> State# s | |
| Prim CNlink | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CNlink -> Int# alignmentOfType# :: Proxy CNlink -> Int# alignment# :: CNlink -> Int# indexByteArray# :: ByteArray# -> Int# -> CNlink readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CNlink #) writeByteArray# :: MutableByteArray# s -> Int# -> CNlink -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CNlink -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CNlink readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CNlink #) writeOffAddr# :: Addr# -> Int# -> CNlink -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CNlink -> State# s -> State# s | |
| Prim COff | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy COff -> Int# alignmentOfType# :: Proxy COff -> Int# alignment# :: COff -> Int# indexByteArray# :: ByteArray# -> Int# -> COff readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, COff #) writeByteArray# :: MutableByteArray# s -> Int# -> COff -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> COff -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> COff readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, COff #) writeOffAddr# :: Addr# -> Int# -> COff -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> COff -> State# s -> State# s | |
| Prim CPid | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CPid -> Int# alignmentOfType# :: Proxy CPid -> Int# alignment# :: CPid -> Int# indexByteArray# :: ByteArray# -> Int# -> CPid readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CPid #) writeByteArray# :: MutableByteArray# s -> Int# -> CPid -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CPid -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CPid readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CPid #) writeOffAddr# :: Addr# -> Int# -> CPid -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CPid -> State# s -> State# s | |
| Prim CRLim | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CRLim -> Int# alignmentOfType# :: Proxy CRLim -> Int# alignment# :: CRLim -> Int# indexByteArray# :: ByteArray# -> Int# -> CRLim readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CRLim #) writeByteArray# :: MutableByteArray# s -> Int# -> CRLim -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CRLim -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CRLim readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CRLim #) writeOffAddr# :: Addr# -> Int# -> CRLim -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CRLim -> State# s -> State# s | |
| Prim CSpeed | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CSpeed -> Int# alignmentOfType# :: Proxy CSpeed -> Int# alignment# :: CSpeed -> Int# indexByteArray# :: ByteArray# -> Int# -> CSpeed readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSpeed #) writeByteArray# :: MutableByteArray# s -> Int# -> CSpeed -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSpeed -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CSpeed readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSpeed #) writeOffAddr# :: Addr# -> Int# -> CSpeed -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CSpeed -> State# s -> State# s | |
| Prim CSsize | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CSsize -> Int# alignmentOfType# :: Proxy CSsize -> Int# alignment# :: CSsize -> Int# indexByteArray# :: ByteArray# -> Int# -> CSsize readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSsize #) writeByteArray# :: MutableByteArray# s -> Int# -> CSsize -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSsize -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CSsize readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSsize #) writeOffAddr# :: Addr# -> Int# -> CSsize -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CSsize -> State# s -> State# s | |
| Prim CTcflag | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CTcflag -> Int# alignmentOfType# :: Proxy CTcflag -> Int# alignment# :: CTcflag -> Int# indexByteArray# :: ByteArray# -> Int# -> CTcflag readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CTcflag #) writeByteArray# :: MutableByteArray# s -> Int# -> CTcflag -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CTcflag -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CTcflag readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CTcflag #) writeOffAddr# :: Addr# -> Int# -> CTcflag -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CTcflag -> State# s -> State# s | |
| Prim CTimer | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CTimer -> Int# alignmentOfType# :: Proxy CTimer -> Int# alignment# :: CTimer -> Int# indexByteArray# :: ByteArray# -> Int# -> CTimer readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CTimer #) writeByteArray# :: MutableByteArray# s -> Int# -> CTimer -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CTimer -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CTimer readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CTimer #) writeOffAddr# :: Addr# -> Int# -> CTimer -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CTimer -> State# s -> State# s | |
| Prim CUid | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy CUid -> Int# alignmentOfType# :: Proxy CUid -> Int# alignment# :: CUid -> Int# indexByteArray# :: ByteArray# -> Int# -> CUid readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUid #) writeByteArray# :: MutableByteArray# s -> Int# -> CUid -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUid -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> CUid readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUid #) writeOffAddr# :: Addr# -> Int# -> CUid -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> CUid -> State# s -> State# s | |
| Prim Fd | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Fd -> Int# alignmentOfType# :: Proxy Fd -> Int# alignment# :: Fd -> Int# indexByteArray# :: ByteArray# -> Int# -> Fd readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Fd #) writeByteArray# :: MutableByteArray# s -> Int# -> Fd -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Fd -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Fd readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Fd #) writeOffAddr# :: Addr# -> Int# -> Fd -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Fd -> State# s -> State# s | |
| Prim Word16 | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Word16 -> Int# alignmentOfType# :: Proxy Word16 -> Int# alignment# :: Word16 -> Int# indexByteArray# :: ByteArray# -> Int# -> Word16 readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word16 #) writeByteArray# :: MutableByteArray# s -> Int# -> Word16 -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word16 -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Word16 readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word16 #) writeOffAddr# :: Addr# -> Int# -> Word16 -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Word16 -> State# s -> State# s | |
| Prim Word32 | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Word32 -> Int# alignmentOfType# :: Proxy Word32 -> Int# alignment# :: Word32 -> Int# indexByteArray# :: ByteArray# -> Int# -> Word32 readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word32 #) writeByteArray# :: MutableByteArray# s -> Int# -> Word32 -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word32 -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Word32 readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word32 #) writeOffAddr# :: Addr# -> Int# -> Word32 -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Word32 -> State# s -> State# s | |
| Prim Word64 | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Word64 -> Int# alignmentOfType# :: Proxy Word64 -> Int# alignment# :: Word64 -> Int# indexByteArray# :: ByteArray# -> Int# -> Word64 readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word64 #) writeByteArray# :: MutableByteArray# s -> Int# -> Word64 -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word64 -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Word64 readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word64 #) writeOffAddr# :: Addr# -> Int# -> Word64 -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Word64 -> State# s -> State# s | |
| Prim Word8 | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Word8 -> Int# alignmentOfType# :: Proxy Word8 -> Int# alignment# :: Word8 -> Int# indexByteArray# :: ByteArray# -> Int# -> Word8 readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word8 #) writeByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word8 -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Word8 readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word8 #) writeOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Word8 -> State# s -> State# s | |
| Prim Char | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Char -> Int# alignmentOfType# :: Proxy Char -> Int# alignment# :: Char -> Int# indexByteArray# :: ByteArray# -> Int# -> Char readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Char #) writeByteArray# :: MutableByteArray# s -> Int# -> Char -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Char -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Char readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Char #) writeOffAddr# :: Addr# -> Int# -> Char -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Char -> State# s -> State# s | |
| Prim Double | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Double -> Int# alignmentOfType# :: Proxy Double -> Int# alignment# :: Double -> Int# indexByteArray# :: ByteArray# -> Int# -> Double readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Double #) writeByteArray# :: MutableByteArray# s -> Int# -> Double -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Double -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Double readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Double #) writeOffAddr# :: Addr# -> Int# -> Double -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Double -> State# s -> State# s | |
| Prim Float | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Float -> Int# alignmentOfType# :: Proxy Float -> Int# alignment# :: Float -> Int# indexByteArray# :: ByteArray# -> Int# -> Float readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Float #) writeByteArray# :: MutableByteArray# s -> Int# -> Float -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Float -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Float readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Float #) writeOffAddr# :: Addr# -> Int# -> Float -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Float -> State# s -> State# s | |
| Prim Int | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Int -> Int# alignmentOfType# :: Proxy Int -> Int# alignment# :: Int -> Int# indexByteArray# :: ByteArray# -> Int# -> Int readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int #) writeByteArray# :: MutableByteArray# s -> Int# -> Int -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Int readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int #) writeOffAddr# :: Addr# -> Int# -> Int -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Int -> State# s -> State# s | |
| Prim Word | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Word -> Int# alignmentOfType# :: Proxy Word -> Int# alignment# :: Word -> Int# indexByteArray# :: ByteArray# -> Int# -> Word readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word #) writeByteArray# :: MutableByteArray# s -> Int# -> Word -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Word readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word #) writeOffAddr# :: Addr# -> Int# -> Word -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Word -> State# s -> State# s | |
| Prim a => Prim (Complex a) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Complex a) -> Int# alignmentOfType# :: Proxy (Complex a) -> Int# alignment# :: Complex a -> Int# indexByteArray# :: ByteArray# -> Int# -> Complex a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Complex a #) writeByteArray# :: MutableByteArray# s -> Int# -> Complex a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Complex a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Complex a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Complex a #) writeOffAddr# :: Addr# -> Int# -> Complex a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Complex a -> State# s -> State# s | |
| Prim a => Prim (First a) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (First a) -> Int# alignmentOfType# :: Proxy (First a) -> Int# alignment# :: First a -> Int# indexByteArray# :: ByteArray# -> Int# -> First a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, First a #) writeByteArray# :: MutableByteArray# s -> Int# -> First a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> First a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> First a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, First a #) writeOffAddr# :: Addr# -> Int# -> First a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> First a -> State# s -> State# s | |
| Prim a => Prim (Last a) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Last a) -> Int# alignmentOfType# :: Proxy (Last a) -> Int# alignment# :: Last a -> Int# indexByteArray# :: ByteArray# -> Int# -> Last a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Last a #) writeByteArray# :: MutableByteArray# s -> Int# -> Last a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Last a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Last a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Last a #) writeOffAddr# :: Addr# -> Int# -> Last a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Last a -> State# s -> State# s | |
| Prim a => Prim (Max a) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Max a) -> Int# alignmentOfType# :: Proxy (Max a) -> Int# alignment# :: Max a -> Int# indexByteArray# :: ByteArray# -> Int# -> Max a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Max a #) writeByteArray# :: MutableByteArray# s -> Int# -> Max a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Max a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Max a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Max a #) writeOffAddr# :: Addr# -> Int# -> Max a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Max a -> State# s -> State# s | |
| Prim a => Prim (Min a) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Min a) -> Int# alignmentOfType# :: Proxy (Min a) -> Int# alignment# :: Min a -> Int# indexByteArray# :: ByteArray# -> Int# -> Min a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Min a #) writeByteArray# :: MutableByteArray# s -> Int# -> Min a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Min a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Min a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Min a #) writeOffAddr# :: Addr# -> Int# -> Min a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Min a -> State# s -> State# s | |
| Prim a => Prim (Identity a) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Identity a) -> Int# alignmentOfType# :: Proxy (Identity a) -> Int# alignment# :: Identity a -> Int# indexByteArray# :: ByteArray# -> Int# -> Identity a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Identity a #) writeByteArray# :: MutableByteArray# s -> Int# -> Identity a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Identity a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Identity a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Identity a #) writeOffAddr# :: Addr# -> Int# -> Identity a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Identity a -> State# s -> State# s | |
| Prim a => Prim (Down a) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Down a) -> Int# alignmentOfType# :: Proxy (Down a) -> Int# alignment# :: Down a -> Int# indexByteArray# :: ByteArray# -> Int# -> Down a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Down a #) writeByteArray# :: MutableByteArray# s -> Int# -> Down a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Down a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Down a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Down a #) writeOffAddr# :: Addr# -> Int# -> Down a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Down a -> State# s -> State# s | |
| Prim a => Prim (Dual a) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Dual a) -> Int# alignmentOfType# :: Proxy (Dual a) -> Int# alignment# :: Dual a -> Int# indexByteArray# :: ByteArray# -> Int# -> Dual a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Dual a #) writeByteArray# :: MutableByteArray# s -> Int# -> Dual a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Dual a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Dual a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Dual a #) writeOffAddr# :: Addr# -> Int# -> Dual a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Dual a -> State# s -> State# s | |
| Prim a => Prim (Product a) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Product a) -> Int# alignmentOfType# :: Proxy (Product a) -> Int# alignment# :: Product a -> Int# indexByteArray# :: ByteArray# -> Int# -> Product a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Product a #) writeByteArray# :: MutableByteArray# s -> Int# -> Product a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Product a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Product a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Product a #) writeOffAddr# :: Addr# -> Int# -> Product a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Product a -> State# s -> State# s | |
| Prim a => Prim (Sum a) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Sum a) -> Int# alignmentOfType# :: Proxy (Sum a) -> Int# alignment# :: Sum a -> Int# indexByteArray# :: ByteArray# -> Int# -> Sum a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Sum a #) writeByteArray# :: MutableByteArray# s -> Int# -> Sum a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Sum a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Sum a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Sum a #) writeOffAddr# :: Addr# -> Int# -> Sum a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Sum a -> State# s -> State# s | |
| Prim (FunPtr a) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (FunPtr a) -> Int# alignmentOfType# :: Proxy (FunPtr a) -> Int# alignment# :: FunPtr a -> Int# indexByteArray# :: ByteArray# -> Int# -> FunPtr a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, FunPtr a #) writeByteArray# :: MutableByteArray# s -> Int# -> FunPtr a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> FunPtr a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> FunPtr a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, FunPtr a #) writeOffAddr# :: Addr# -> Int# -> FunPtr a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> FunPtr a -> State# s -> State# s | |
| Prim (Ptr a) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Ptr a) -> Int# alignmentOfType# :: Proxy (Ptr a) -> Int# alignment# :: Ptr a -> Int# indexByteArray# :: ByteArray# -> Int# -> Ptr a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Ptr a #) writeByteArray# :: MutableByteArray# s -> Int# -> Ptr a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Ptr a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Ptr a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Ptr a #) writeOffAddr# :: Addr# -> Int# -> Ptr a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Ptr a -> State# s -> State# s | |
| Prim (StablePtr a) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (StablePtr a) -> Int# sizeOf# :: StablePtr a -> Int# alignmentOfType# :: Proxy (StablePtr a) -> Int# alignment# :: StablePtr a -> Int# indexByteArray# :: ByteArray# -> Int# -> StablePtr a readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, StablePtr a #) writeByteArray# :: MutableByteArray# s -> Int# -> StablePtr a -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> StablePtr a -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> StablePtr a readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, StablePtr a #) writeOffAddr# :: Addr# -> Int# -> StablePtr a -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> StablePtr a -> State# s -> State# s | |
| Prim a => Prim (Const a b) | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Const a b) -> Int# alignmentOfType# :: Proxy (Const a b) -> Int# alignment# :: Const a b -> Int# indexByteArray# :: ByteArray# -> Int# -> Const a b readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Const a b #) writeByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> State# s setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Const a b -> State# s -> State# s indexOffAddr# :: Addr# -> Int# -> Const a b readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Const a b #) writeOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> State# s setOffAddr# :: Addr# -> Int# -> Int# -> Const a b -> State# s -> State# s | |
class (Vector Vector a, MVector MVector a) => Unbox a #
Instances
| Unbox All | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Any | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Int16 | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Int32 | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Int64 | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Int8 | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Word16 | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Word32 | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Word64 | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Word8 | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox () | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Bool | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Char | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Double | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Float | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Int | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox Word | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox a => Unbox (Complex a) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox a => Unbox (First a) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox a => Unbox (Last a) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox a => Unbox (Max a) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox a => Unbox (Min a) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox a => Unbox (WrappedMonoid a) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox a => Unbox (Identity a) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox a => Unbox (Down a) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox a => Unbox (Dual a) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox a => Unbox (Product a) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox a => Unbox (Sum a) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox (DoNotUnboxLazy a) | |
Defined in Data.Vector.Unboxed.Base | |
| NFData a => Unbox (DoNotUnboxNormalForm a) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox (DoNotUnboxStrict a) | |
Defined in Data.Vector.Unboxed.Base | |
| (Unbox a, Unbox b) => Unbox (Arg a b) | |
Defined in Data.Vector.Unboxed.Base | |
| (Unbox a, Unbox b) => Unbox (a, b) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox a => Unbox (Const a b) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox (f a) => Unbox (Alt f a) | |
Defined in Data.Vector.Unboxed.Base | |
| (Unbox a, Unbox b, Unbox c) => Unbox (a, b, c) | |
Defined in Data.Vector.Unboxed.Base | |
| (Unbox a, Unbox b, Unbox c, Unbox d) => Unbox (a, b, c, d) | |
Defined in Data.Vector.Unboxed.Base | |
| Unbox (f (g a)) => Unbox (Compose f g a) | |
Defined in Data.Vector.Unboxed.Base | |
| (Unbox a, Unbox b, Unbox c, Unbox d, Unbox e) => Unbox (a, b, c, d, e) | |
Defined in Data.Vector.Unboxed.Base | |
| (Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox f) => Unbox (a, b, c, d, e, f) | |
Defined in Data.Vector.Unboxed.Base | |
The member functions of this class facilitate writing values of primitive types to raw memory (which may have been allocated with the above mentioned routines) and reading values from blocks of raw memory. The class, furthermore, includes support for computing the storage requirements and alignment restrictions of storable types.
Memory addresses are represented as values of type , for some
Ptr aa which is an instance of class Storable. The type argument to
Ptr helps provide some valuable type safety in FFI code (you can't
mix pointers of different types without an explicit cast), while
helping the Haskell type system figure out which marshalling method is
needed for a given pointer.
All marshalling between Haskell and a foreign language ultimately
boils down to translating Haskell data structures into the binary
representation of a corresponding data structure of the foreign
language and vice versa. To code this marshalling in Haskell, it is
necessary to manipulate primitive data types stored in unstructured
memory blocks. The class Storable facilitates this manipulation on
all types for which it is instantiated, which are the standard basic
types of Haskell, the fixed size Int types (Int8, Int16,
Int32, Int64), the fixed size Word types (Word8, Word16,
Word32, Word64), StablePtr, all types from Foreign.C.Types,
as well as Ptr.
Minimal complete definition
sizeOf, alignment, (peek | peekElemOff | peekByteOff), (poke | pokeElemOff | pokeByteOff)
Instances
| Storable Fingerprint | Since: base-4.4.0.0 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Fingerprint -> Int Source # alignment :: Fingerprint -> Int Source # peekElemOff :: Ptr Fingerprint -> Int -> IO Fingerprint Source # pokeElemOff :: Ptr Fingerprint -> Int -> Fingerprint -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Fingerprint Source # pokeByteOff :: Ptr b -> Int -> Fingerprint -> IO () Source # peek :: Ptr Fingerprint -> IO Fingerprint Source # poke :: Ptr Fingerprint -> Fingerprint -> IO () Source # | |
| Storable Int16 | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Int16 -> Int Source # alignment :: Int16 -> Int Source # peekElemOff :: Ptr Int16 -> Int -> IO Int16 Source # pokeElemOff :: Ptr Int16 -> Int -> Int16 -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Int16 Source # pokeByteOff :: Ptr b -> Int -> Int16 -> IO () Source # | |
| Storable Int32 | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Int32 -> Int Source # alignment :: Int32 -> Int Source # peekElemOff :: Ptr Int32 -> Int -> IO Int32 Source # pokeElemOff :: Ptr Int32 -> Int -> Int32 -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Int32 Source # pokeByteOff :: Ptr b -> Int -> Int32 -> IO () Source # | |
| Storable Int64 | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Int64 -> Int Source # alignment :: Int64 -> Int Source # peekElemOff :: Ptr Int64 -> Int -> IO Int64 Source # pokeElemOff :: Ptr Int64 -> Int -> Int64 -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Int64 Source # pokeByteOff :: Ptr b -> Int -> Int64 -> IO () Source # | |
| Storable Int8 | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Int8 -> Int Source # alignment :: Int8 -> Int Source # peekElemOff :: Ptr Int8 -> Int -> IO Int8 Source # pokeElemOff :: Ptr Int8 -> Int -> Int8 -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Int8 Source # pokeByteOff :: Ptr b -> Int -> Int8 -> IO () Source # | |
| Storable Word16 | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Word16 -> Int Source # alignment :: Word16 -> Int Source # peekElemOff :: Ptr Word16 -> Int -> IO Word16 Source # pokeElemOff :: Ptr Word16 -> Int -> Word16 -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Word16 Source # pokeByteOff :: Ptr b -> Int -> Word16 -> IO () Source # | |
| Storable Word32 | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Word32 -> Int Source # alignment :: Word32 -> Int Source # peekElemOff :: Ptr Word32 -> Int -> IO Word32 Source # pokeElemOff :: Ptr Word32 -> Int -> Word32 -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Word32 Source # pokeByteOff :: Ptr b -> Int -> Word32 -> IO () Source # | |
| Storable Word64 | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Word64 -> Int Source # alignment :: Word64 -> Int Source # peekElemOff :: Ptr Word64 -> Int -> IO Word64 Source # pokeElemOff :: Ptr Word64 -> Int -> Word64 -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Word64 Source # pokeByteOff :: Ptr b -> Int -> Word64 -> IO () Source # | |
| Storable Word8 | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Word8 -> Int Source # alignment :: Word8 -> Int Source # peekElemOff :: Ptr Word8 -> Int -> IO Word8 Source # pokeElemOff :: Ptr Word8 -> Int -> Word8 -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Word8 Source # pokeByteOff :: Ptr b -> Int -> Word8 -> IO () Source # | |
| Storable () | Since: base-4.9.0.0 |
Defined in GHC.Internal.Foreign.Storable | |
| Storable Bool | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Bool -> Int Source # alignment :: Bool -> Int Source # peekElemOff :: Ptr Bool -> Int -> IO Bool Source # pokeElemOff :: Ptr Bool -> Int -> Bool -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Bool Source # pokeByteOff :: Ptr b -> Int -> Bool -> IO () Source # | |
| Storable Char | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Char -> Int Source # alignment :: Char -> Int Source # peekElemOff :: Ptr Char -> Int -> IO Char Source # pokeElemOff :: Ptr Char -> Int -> Char -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Char Source # pokeByteOff :: Ptr b -> Int -> Char -> IO () Source # | |
| Storable Double | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Double -> Int Source # alignment :: Double -> Int Source # peekElemOff :: Ptr Double -> Int -> IO Double Source # pokeElemOff :: Ptr Double -> Int -> Double -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Double Source # pokeByteOff :: Ptr b -> Int -> Double -> IO () Source # | |
| Storable Float | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Float -> Int Source # alignment :: Float -> Int Source # peekElemOff :: Ptr Float -> Int -> IO Float Source # pokeElemOff :: Ptr Float -> Int -> Float -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Float Source # pokeByteOff :: Ptr b -> Int -> Float -> IO () Source # | |
| Storable Int | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable | |
| Storable Word | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Word -> Int Source # alignment :: Word -> Int Source # peekElemOff :: Ptr Word -> Int -> IO Word Source # pokeElemOff :: Ptr Word -> Int -> Word -> IO () Source # peekByteOff :: Ptr b -> Int -> IO Word Source # pokeByteOff :: Ptr b -> Int -> Word -> IO () Source # | |
| Storable a => Storable (Complex a) | Since: base-4.8.0.0 |
Defined in Data.Complex Methods sizeOf :: Complex a -> Int Source # alignment :: Complex a -> Int Source # peekElemOff :: Ptr (Complex a) -> Int -> IO (Complex a) Source # pokeElemOff :: Ptr (Complex a) -> Int -> Complex a -> IO () Source # peekByteOff :: Ptr b -> Int -> IO (Complex a) Source # pokeByteOff :: Ptr b -> Int -> Complex a -> IO () Source # | |
| Storable (ConstPtr a) | |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: ConstPtr a -> Int Source # alignment :: ConstPtr a -> Int Source # peekElemOff :: Ptr (ConstPtr a) -> Int -> IO (ConstPtr a) Source # pokeElemOff :: Ptr (ConstPtr a) -> Int -> ConstPtr a -> IO () Source # peekByteOff :: Ptr b -> Int -> IO (ConstPtr a) Source # pokeByteOff :: Ptr b -> Int -> ConstPtr a -> IO () Source # | |
| Storable (FunPtr a) | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: FunPtr a -> Int Source # alignment :: FunPtr a -> Int Source # peekElemOff :: Ptr (FunPtr a) -> Int -> IO (FunPtr a) Source # pokeElemOff :: Ptr (FunPtr a) -> Int -> FunPtr a -> IO () Source # peekByteOff :: Ptr b -> Int -> IO (FunPtr a) Source # pokeByteOff :: Ptr b -> Int -> FunPtr a -> IO () Source # | |
| Storable (Ptr a) | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Ptr a -> Int Source # alignment :: Ptr a -> Int Source # peekElemOff :: Ptr (Ptr a) -> Int -> IO (Ptr a) Source # pokeElemOff :: Ptr (Ptr a) -> Int -> Ptr a -> IO () Source # peekByteOff :: Ptr b -> Int -> IO (Ptr a) Source # pokeByteOff :: Ptr b -> Int -> Ptr a -> IO () Source # | |
| (Storable a, Integral a) => Storable (Ratio a) | Since: base-4.8.0.0 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: Ratio a -> Int Source # alignment :: Ratio a -> Int Source # peekElemOff :: Ptr (Ratio a) -> Int -> IO (Ratio a) Source # pokeElemOff :: Ptr (Ratio a) -> Int -> Ratio a -> IO () Source # peekByteOff :: Ptr b -> Int -> IO (Ratio a) Source # pokeByteOff :: Ptr b -> Int -> Ratio a -> IO () Source # | |
| Storable (StablePtr a) | Since: base-2.1 |
Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: StablePtr a -> Int Source # alignment :: StablePtr a -> Int Source # peekElemOff :: Ptr (StablePtr a) -> Int -> IO (StablePtr a) Source # pokeElemOff :: Ptr (StablePtr a) -> Int -> StablePtr a -> IO () Source # peekByteOff :: Ptr b -> Int -> IO (StablePtr a) Source # pokeByteOff :: Ptr b -> Int -> StablePtr a -> IO () Source # | |
| Prim a => Storable (PrimStorable a) | |
Defined in Data.Primitive.Types Methods sizeOf :: PrimStorable a -> Int Source # alignment :: PrimStorable a -> Int Source # peekElemOff :: Ptr (PrimStorable a) -> Int -> IO (PrimStorable a) Source # pokeElemOff :: Ptr (PrimStorable a) -> Int -> PrimStorable a -> IO () Source # peekByteOff :: Ptr b -> Int -> IO (PrimStorable a) Source # pokeByteOff :: Ptr b -> Int -> PrimStorable a -> IO () Source # peek :: Ptr (PrimStorable a) -> IO (PrimStorable a) Source # poke :: Ptr (PrimStorable a) -> PrimStorable a -> IO () Source # | |