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 Data.IORef
>>>
r <- newIORef 0
>>>
readIORef r
0>>>
writeIORef r 1
>>>
readIORef r
1>>>
atomicWriteIORef r 2
>>>
readIORef r
2>>>
modifyIORef' r (+ 1)
>>>
readIORef r
3>>>
atomicModifyIORef' r (\a -> (a + 1, ()))
>>>
readIORef r
4
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 |
A MutVar
behaves like a single-element mutable array associated
with a primitive state token.
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 #
MutableRef
s 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) #
Class of monads which can perform primitive state-transformer actions.
Minimal complete definition
Instances
PrimMonad IO | |
PrimMonad (ST s) | |
PrimMonad (ST s) | |
PrimMonad m => PrimMonad (MaybeT m) | |
(Monoid w, PrimMonad m) => PrimMonad (AccumT w m) | Since: primitive-0.6.3.0 |
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) | Since: primitive-0.6.3.0 |
(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) #
State token 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 |
Class of types supporting primitive array operations. This includes
interfacing with GC-managed memory (functions suffixed with ByteArray#
)
and interfacing with unmanaged memory (functions suffixed with Addr#
).
Endianness is platform-dependent.
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# # sizeOf# :: 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 | Since: primitive-0.7.1.0 |
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 | Since: primitive-0.7.1.0 |
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 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 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# # sizeOf# :: 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# # sizeOf# :: 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 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) | Since: primitive-0.9.0.0 |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Complex a) -> Int# # sizeOf# :: 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 (Identity a) | Since: primitive-0.6.5.0 |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Identity a) -> Int# # sizeOf# :: 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) | Since: primitive-0.6.5.0 |
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 (First a) | Since: primitive-0.6.5.0 |
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) | Since: primitive-0.6.5.0 |
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) | Since: primitive-0.6.5.0 |
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) | Since: primitive-0.6.5.0 |
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 (Dual a) | Since: primitive-0.6.5.0 |
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) | Since: primitive-0.6.5.0 |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Product a) -> Int# # sizeOf# :: 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) | Since: primitive-0.6.5.0 |
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) | Since: primitive-0.6.5.0 |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy (Const a b) -> Int# # sizeOf# :: 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 (Identity a) | |
Defined in Data.Vector.Unboxed.Base | |
Unbox a => Unbox (Down 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 (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 CBool | |
Storable CChar | |
Storable CClock | |
Storable CDouble | |
Storable CFloat | |
Storable CInt | |
Defined in Foreign.C.Types | |
Storable CIntMax | |
Storable CIntPtr | |
Storable CLLong | |
Storable CLong | |
Storable CPtrdiff | |
Defined in Foreign.C.Types | |
Storable CSChar | |
Storable CSUSeconds | |
Defined in Foreign.C.Types Methods sizeOf :: CSUSeconds -> Int # alignment :: CSUSeconds -> Int # peekElemOff :: Ptr CSUSeconds -> Int -> IO CSUSeconds # pokeElemOff :: Ptr CSUSeconds -> Int -> CSUSeconds -> IO () # peekByteOff :: Ptr b -> Int -> IO CSUSeconds # pokeByteOff :: Ptr b -> Int -> CSUSeconds -> IO () # peek :: Ptr CSUSeconds -> IO CSUSeconds # poke :: Ptr CSUSeconds -> CSUSeconds -> IO () # | |
Storable CShort | |
Storable CSigAtomic | |
Defined in Foreign.C.Types Methods sizeOf :: CSigAtomic -> Int # alignment :: CSigAtomic -> Int # peekElemOff :: Ptr CSigAtomic -> Int -> IO CSigAtomic # pokeElemOff :: Ptr CSigAtomic -> Int -> CSigAtomic -> IO () # peekByteOff :: Ptr b -> Int -> IO CSigAtomic # pokeByteOff :: Ptr b -> Int -> CSigAtomic -> IO () # peek :: Ptr CSigAtomic -> IO CSigAtomic # poke :: Ptr CSigAtomic -> CSigAtomic -> IO () # | |
Storable CSize | |
Storable CTime | |
Storable CUChar | |
Storable CUInt | |
Storable CUIntMax | |
Defined in Foreign.C.Types | |
Storable CUIntPtr | |
Defined in Foreign.C.Types | |
Storable CULLong | |
Storable CULong | |
Storable CUSeconds | |
Defined in Foreign.C.Types | |
Storable CUShort | |
Storable CWchar | |
Storable IntPtr | |
Storable WordPtr | |
Storable Fingerprint | Since: base-4.4.0.0 |
Defined in Foreign.Storable Methods sizeOf :: Fingerprint -> Int # alignment :: Fingerprint -> Int # peekElemOff :: Ptr Fingerprint -> Int -> IO Fingerprint # pokeElemOff :: Ptr Fingerprint -> Int -> Fingerprint -> IO () # peekByteOff :: Ptr b -> Int -> IO Fingerprint # pokeByteOff :: Ptr b -> Int -> Fingerprint -> IO () # peek :: Ptr Fingerprint -> IO Fingerprint # poke :: Ptr Fingerprint -> Fingerprint -> IO () # | |
Storable Int16 | Since: base-2.1 |
Storable Int32 | Since: base-2.1 |
Storable Int64 | Since: base-2.1 |
Storable Int8 | Since: base-2.1 |
Defined in Foreign.Storable | |
Storable IoSubSystem | Since: base-4.9.0.0 |
Defined in GHC.RTS.Flags Methods sizeOf :: IoSubSystem -> Int # alignment :: IoSubSystem -> Int # peekElemOff :: Ptr IoSubSystem -> Int -> IO IoSubSystem # pokeElemOff :: Ptr IoSubSystem -> Int -> IoSubSystem -> IO () # peekByteOff :: Ptr b -> Int -> IO IoSubSystem # pokeByteOff :: Ptr b -> Int -> IoSubSystem -> IO () # peek :: Ptr IoSubSystem -> IO IoSubSystem # poke :: Ptr IoSubSystem -> IoSubSystem -> IO () # | |
Storable Word16 | Since: base-2.1 |
Storable Word32 | Since: base-2.1 |
Storable Word64 | Since: base-2.1 |
Storable Word8 | Since: base-2.1 |
Storable CBlkCnt | |
Storable CBlkSize | |
Defined in System.Posix.Types | |
Storable CCc | |
Defined in System.Posix.Types | |
Storable CClockId | |
Defined in System.Posix.Types | |
Storable CDev | |
Defined in System.Posix.Types | |
Storable CFsBlkCnt | |
Defined in System.Posix.Types | |
Storable CFsFilCnt | |
Defined in System.Posix.Types | |
Storable CGid | |
Defined in System.Posix.Types | |
Storable CId | |
Defined in System.Posix.Types | |
Storable CIno | |
Defined in System.Posix.Types | |
Storable CKey | |
Defined in System.Posix.Types | |
Storable CMode | |
Storable CNfds | |
Storable CNlink | |
Storable COff | |
Defined in System.Posix.Types | |
Storable CPid | |
Defined in System.Posix.Types | |
Storable CRLim | |
Storable CSocklen | |
Defined in System.Posix.Types | |
Storable CSpeed | |
Storable CSsize | |
Storable CTcflag | |
Storable CTimer | |
Storable CUid | |
Defined in System.Posix.Types | |
Storable Fd | |
Defined in System.Posix.Types | |
Storable () | Since: base-4.9.0.0 |
Defined in Foreign.Storable | |
Storable Bool | Since: base-2.1 |
Defined in Foreign.Storable | |
Storable Char | Since: base-2.1 |
Defined in Foreign.Storable | |
Storable Double | Since: base-2.1 |
Storable Float | Since: base-2.1 |
Storable Int | Since: base-2.1 |
Defined in Foreign.Storable | |
Storable Word | Since: base-2.1 |
Defined in Foreign.Storable | |
Storable a => Storable (Complex a) | Since: base-4.8.0.0 |
Defined in Data.Complex | |
Storable a => Storable (Identity a) | Since: base-4.9.0.0 |
Defined in Data.Functor.Identity Methods alignment :: Identity a -> Int # peekElemOff :: Ptr (Identity a) -> Int -> IO (Identity a) # pokeElemOff :: Ptr (Identity a) -> Int -> Identity a -> IO () # peekByteOff :: Ptr b -> Int -> IO (Identity a) # pokeByteOff :: Ptr b -> Int -> Identity a -> IO () # | |
Storable a => Storable (Down a) | Since: base-4.14.0.0 |
Storable (ConstPtr a) | |
Defined in Foreign.Storable Methods alignment :: ConstPtr a -> Int # peekElemOff :: Ptr (ConstPtr a) -> Int -> IO (ConstPtr a) # pokeElemOff :: Ptr (ConstPtr a) -> Int -> ConstPtr a -> IO () # peekByteOff :: Ptr b -> Int -> IO (ConstPtr a) # pokeByteOff :: Ptr b -> Int -> ConstPtr a -> IO () # | |
Storable (FunPtr a) | Since: base-2.1 |
Defined in Foreign.Storable | |
Storable (Ptr a) | Since: base-2.1 |
(Storable a, Integral a) => Storable (Ratio a) | Since: base-4.8.0.0 |
Storable (StablePtr a) | Since: base-2.1 |
Defined in Foreign.Storable Methods sizeOf :: StablePtr a -> Int # alignment :: StablePtr a -> Int # peekElemOff :: Ptr (StablePtr a) -> Int -> IO (StablePtr a) # pokeElemOff :: Ptr (StablePtr a) -> Int -> StablePtr a -> IO () # peekByteOff :: Ptr b -> Int -> IO (StablePtr a) # pokeByteOff :: Ptr b -> Int -> StablePtr a -> IO () # | |
Prim a => Storable (PrimStorable a) | |
Defined in Data.Primitive.Types Methods sizeOf :: PrimStorable a -> Int # alignment :: PrimStorable a -> Int # peekElemOff :: Ptr (PrimStorable a) -> Int -> IO (PrimStorable a) # pokeElemOff :: Ptr (PrimStorable a) -> Int -> PrimStorable a -> IO () # peekByteOff :: Ptr b -> Int -> IO (PrimStorable a) # pokeByteOff :: Ptr b -> Int -> PrimStorable a -> IO () # peek :: Ptr (PrimStorable a) -> IO (PrimStorable a) # poke :: Ptr (PrimStorable a) -> PrimStorable a -> IO () # | |
Storable a => Storable (Const a b) | Since: base-4.9.0.0 |
Defined in Data.Functor.Const |