mutable-containers-0.3.4.1: Abstactions and concrete implementations of mutable containers

Safe Haskell | None
Language | Haskell2010

Data.Mutable

Contents

- Data types
  - Single-cell mutable references
    - Standard re-exports
  - Collections/queues
- Type classes
- Constraint kinds
- Convenience re-exports

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
  - type CollElement c
  - newColl :: (PrimMonad m, PrimState m ~ MCState c) => m c
- class MutableCollection c => MutablePushFront c where
  - pushFront :: (PrimMonad m, PrimState m ~ MCState c) => c -> CollElement c -> m ()
- class MutableCollection c => MutablePushBack c where
  - pushBack :: (PrimMonad m, PrimState m ~ MCState c) => c -> CollElement c -> m ()
- class MutableCollection c => MutablePopFront c where
  - popFront :: (PrimMonad m, PrimState m ~ MCState c) => c -> m (Maybe (CollElement c))
- class MutableCollection c => MutablePopBack c where
  - popBack :: (PrimMonad m, PrimState m ~ MCState c) => c -> m (Maybe (CollElement c))
- 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

data PRef s a Source #

A primitive ByteArray reference, supporting any monad.

Since 0.2.0

#### Instances

Instances details

MutableContainer (PRef s a) Source # |

Instance details

Defined in Data.Mutable.PRef

Associated Types

type MCState (PRef s a) |
Instance details Defined in Data.Mutable.PRef type MCState (PRef s a) = s

Prim a => MutableRef (PRef s a) Source # |

Instance details

Defined in Data.Mutable.PRef

Associated Types

type RefElement (PRef s a) |
Instance details Defined in Data.Mutable.PRef type RefElement (PRef s a) = a

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 #

type MCState (PRef s a) Source # |
Instance details Defined in Data.Mutable.PRef type MCState (PRef s a) = s
type RefElement (PRef s a) Source # |
Instance details Defined in Data.Mutable.PRef type RefElement (PRef s a) = a

type IOPRef = PRef (PrimState IO) Source #

A primitive ByteArray IO reference.

asPRef :: PRef s a -> PRef s a Source #

Since 0.2.0

data URef s a Source #

An unboxed vector reference, supporting any monad.

Since 0.2.0

#### Instances

Instances details

MutableContainer (URef s a) Source # |

Instance details

Defined in Data.Mutable.URef

Associated Types

type MCState (URef s a) |
Instance details Defined in Data.Mutable.URef type MCState (URef s a) = s

Unbox a => MutableRef (URef s a) Source # |

Instance details

Defined in Data.Mutable.URef

Associated Types

type RefElement (URef s a) |
Instance details Defined in Data.Mutable.URef type RefElement (URef s a) = a

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 # |
Instance details Defined in Data.Mutable.URef type MCState (URef s a) = s
type RefElement (URef s a) Source # |
Instance details Defined in Data.Mutable.URef type RefElement (URef s a) = a

type IOURef = URef (PrimState IO) Source #

An unboxed IO vector reference.

asURef :: URef s a -> URef s a Source #

Since 0.2.0

data SRef s a Source #

A storable vector reference, supporting any monad.

Since 0.2.0

#### Instances

Instances details

MutableContainer (SRef s a) Source # |

Instance details

Defined in Data.Mutable.SRef

Associated Types

type MCState (SRef s a) |
Instance details Defined in Data.Mutable.SRef type MCState (SRef s a) = s

Storable a => MutableRef (SRef s a) Source # |

Instance details

Defined in Data.Mutable.SRef

Associated Types

type RefElement (SRef s a) |
Instance details Defined in Data.Mutable.SRef type RefElement (SRef s a) = a

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 # |
Instance details Defined in Data.Mutable.SRef type MCState (SRef s a) = s
type RefElement (SRef s a) Source # |
Instance details Defined in Data.Mutable.SRef type RefElement (SRef s a) = a

type IOSRef = SRef (PrimState IO) Source #

A storable IO vector reference.

asSRef :: SRef s a -> SRef s a Source #

Since 0.2.0

data BRef s a Source #

A boxed vector reference, supporting any monad.

Since 0.2.0

#### Instances

Instances details

Monoid w => MutableCollection (BRef s w) Source # |

Instance details

Defined in Data.Mutable.BRef

Associated Types

type CollElement (BRef s w) |
Instance details Defined in Data.Mutable.BRef type CollElement (BRef s w) = Element w

Methods

newColl :: (PrimMonad m, PrimState m ~ MCState (BRef s w)) => m (BRef s w) Source #

MutableContainer (BRef s a) Source # |

Instance details

Defined in Data.Mutable.BRef

Associated Types

type MCState (BRef s a) |
Instance details Defined in Data.Mutable.BRef type MCState (BRef s a) = s

IsSequence seq => MutablePopBack (BRef s seq) Source # |
Instance details Defined in Data.Mutable.BRef Methods popBack :: (PrimMonad m, PrimState m ~ MCState (BRef s seq)) => BRef s seq -> m (Maybe (CollElement (BRef s seq))) Source #
IsSequence seq => MutablePopFront (BRef s seq) Source # |
Instance details Defined in Data.Mutable.BRef Methods popFront :: (PrimMonad m, PrimState m ~ MCState (BRef s seq)) => BRef s seq -> m (Maybe (CollElement (BRef s seq))) Source #
IsSequence seq => MutablePushBack (BRef s seq) Source # |
Instance details Defined in Data.Mutable.BRef Methods pushBack :: (PrimMonad m, PrimState m ~ MCState (BRef s seq)) => BRef s seq -> CollElement (BRef s seq) -> m () Source #
IsSequence seq => MutablePushFront (BRef s seq) Source # |
Instance details Defined in Data.Mutable.BRef Methods pushFront :: (PrimMonad m, PrimState m ~ MCState (BRef s seq)) => BRef s seq -> CollElement (BRef s seq) -> m () Source #
MutableRef (BRef s a) Source # |

Instance details

Defined in Data.Mutable.BRef

Associated Types

type RefElement (BRef s a) |
Instance details Defined in Data.Mutable.BRef type RefElement (BRef s a) = a

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 # |
Instance details Defined in Data.Mutable.BRef type CollElement (BRef s w) = Element w
type MCState (BRef s a) Source # |
Instance details Defined in Data.Mutable.BRef type MCState (BRef s a) = s
type RefElement (BRef s a) Source # |
Instance details Defined in Data.Mutable.BRef type RefElement (BRef s a) = a

type IOBRef = BRef (PrimState IO) Source #

A boxed IO vector reference.

asBRef :: BRef s a -> BRef s a Source #

Since 0.2.0

### Standard re-exports

data IORef a Source #

A mutable variable in the `IO` monad.

    >>> import GHC.Internal.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

See also `STRef` and `MVar`.

#### Instances

Instances details

Eq (IORef a) | Pointer equality. Since: base-4.0.0.0
Instance details Defined in GHC.Internal.IORef Methods (==) :: IORef a -> IORef a -> Bool Source # (/=) :: IORef a -> IORef a -> Bool Source #
MutableAtomicRef (IORef a) Source # |
Instance details 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 # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type CollElement (IORef w) |
Instance details Defined in Data.Mutable.Class type CollElement (IORef w) = Element w

Methods

newColl :: (PrimMonad m, PrimState m ~ MCState (IORef w)) => m (IORef w) Source #

MutableContainer (IORef a) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type MCState (IORef a) |
Instance details Defined in Data.Mutable.Class type MCState (IORef a) = PrimState IO

IsSequence a => MutablePopBack (IORef a) Source # |
Instance details Defined in Data.Mutable.Class Methods popBack :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> m (Maybe (CollElement (IORef a))) Source #
IsSequence a => MutablePopFront (IORef a) Source # |
Instance details Defined in Data.Mutable.Class Methods popFront :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> m (Maybe (CollElement (IORef a))) Source #
IsSequence a => MutablePushBack (IORef a) Source # |
Instance details Defined in Data.Mutable.Class Methods pushBack :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> CollElement (IORef a) -> m () Source #
IsSequence a => MutablePushFront (IORef a) Source # |
Instance details Defined in Data.Mutable.Class Methods pushFront :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> CollElement (IORef a) -> m () Source #
MutableRef (IORef a) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type RefElement (IORef a) |
Instance details Defined in Data.Mutable.Class type RefElement (IORef a) = a

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 # |
Instance details Defined in Data.Mutable.Class type CollElement (IORef w) = Element w
type MCState (IORef a) Source # |
Instance details Defined in Data.Mutable.Class type MCState (IORef a) = PrimState IO
type RefElement (IORef a) Source # |
Instance details Defined in Data.Mutable.Class type RefElement (IORef a) = a

asIORef :: IORef a -> IORef a Source #

Since 0.2.0

data STRef s a Source #

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

Instances details

Eq (STRef s a) | Pointer equality. Since: base-2.1
Instance details Defined in GHC.Internal.STRef Methods (==) :: STRef s a -> STRef s a -> Bool Source # (/=) :: STRef s a -> STRef s a -> Bool Source #
Monoid w => MutableCollection (STRef s w) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type CollElement (STRef s w) |
Instance details Defined in Data.Mutable.Class type CollElement (STRef s w) = Element w

Methods

newColl :: (PrimMonad m, PrimState m ~ MCState (STRef s w)) => m (STRef s w) Source #

MutableContainer (STRef s a) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type MCState (STRef s a) |
Instance details Defined in Data.Mutable.Class type MCState (STRef s a) = s

IsSequence a => MutablePopBack (STRef s a) Source # |
Instance details Defined in Data.Mutable.Class Methods popBack :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> m (Maybe (CollElement (STRef s a))) Source #
IsSequence a => MutablePopFront (STRef s a) Source # |
Instance details Defined in Data.Mutable.Class Methods popFront :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> m (Maybe (CollElement (STRef s a))) Source #
IsSequence a => MutablePushBack (STRef s a) Source # |
Instance details Defined in Data.Mutable.Class Methods pushBack :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> CollElement (STRef s a) -> m () Source #
IsSequence a => MutablePushFront (STRef s a) Source # |
Instance details Defined in Data.Mutable.Class Methods pushFront :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> CollElement (STRef s a) -> m () Source #
MutableRef (STRef s a) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type RefElement (STRef s a) |
Instance details Defined in Data.Mutable.Class type RefElement (STRef s a) = a

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 # |
Instance details Defined in Data.Mutable.Class type CollElement (STRef s w) = Element w
type MCState (STRef s a) Source # |
Instance details Defined in Data.Mutable.Class type MCState (STRef s a) = s
type RefElement (STRef s a) Source # |
Instance details Defined in Data.Mutable.Class type RefElement (STRef s a) = a

asSTRef :: STRef s a -> STRef s a Source #

Since 0.2.0

data MutVar s a Source #

A `MutVar` behaves like a single-element mutable array associated with a primitive state token.

#### Instances

Instances details

Eq (MutVar s a) |
Instance details Defined in Data.Primitive.MutVar Methods (==) :: MutVar s a -> MutVar s a -> Bool Source # (/=) :: MutVar s a -> MutVar s a -> Bool Source #
MutableAtomicRef (MutVar s a) Source # |
Instance details 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 # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type CollElement (MutVar s w) |
Instance details Defined in Data.Mutable.Class type CollElement (MutVar s w) = Element w

Methods

newColl :: (PrimMonad m, PrimState m ~ MCState (MutVar s w)) => m (MutVar s w) Source #

MutableContainer (MutVar s a) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type MCState (MutVar s a) |
Instance details Defined in Data.Mutable.Class type MCState (MutVar s a) = s

IsSequence a => MutablePopBack (MutVar s a) Source # |
Instance details Defined in Data.Mutable.Class Methods popBack :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> m (Maybe (CollElement (MutVar s a))) Source #
IsSequence a => MutablePopFront (MutVar s a) Source # |
Instance details Defined in Data.Mutable.Class Methods popFront :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> m (Maybe (CollElement (MutVar s a))) Source #
IsSequence a => MutablePushBack (MutVar s a) Source # |
Instance details Defined in Data.Mutable.Class Methods pushBack :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> CollElement (MutVar s a) -> m () Source #
IsSequence a => MutablePushFront (MutVar s a) Source # |
Instance details Defined in Data.Mutable.Class Methods pushFront :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> CollElement (MutVar s a) -> m () Source #
MutableRef (MutVar s a) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type RefElement (MutVar s a) |
Instance details Defined in Data.Mutable.Class type RefElement (MutVar s a) = a

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 # |
Instance details Defined in Data.Mutable.Class type CollElement (MutVar s w) = Element w
type MCState (MutVar s a) Source # |
Instance details Defined in Data.Mutable.Class type MCState (MutVar s a) = s
type RefElement (MutVar s a) Source # |
Instance details Defined in Data.Mutable.Class type RefElement (MutVar s a) = a

asMutVar :: MutVar s a -> MutVar s a Source #

Since 0.2.0

## 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

Instances details

MVector v a => MutableCollection (Deque v s a) Source # |

Instance details

Defined in Data.Mutable.Deque

Associated Types

type CollElement (Deque v s a) |
Instance details Defined in Data.Mutable.Deque type CollElement (Deque v s a) = a

Methods

newColl :: (PrimMonad m, PrimState m ~ MCState (Deque v s a)) => m (Deque v s a) Source #

MutableContainer (Deque v s a) Source # |

Instance details

Defined in Data.Mutable.Deque

Associated Types

type MCState (Deque v s a) |
Instance details Defined in Data.Mutable.Deque type MCState (Deque v s a) = s

MVector v a => MutablePopBack (Deque v s a) Source # |
Instance details Defined in Data.Mutable.Deque Methods popBack :: (PrimMonad m, PrimState m ~ MCState (Deque v s a)) => Deque v s a -> m (Maybe (CollElement (Deque v s a))) Source #
MVector v a => MutablePopFront (Deque v s a) Source # |
Instance details Defined in Data.Mutable.Deque Methods popFront :: (PrimMonad m, PrimState m ~ MCState (Deque v s a)) => Deque v s a -> m (Maybe (CollElement (Deque v s a))) Source #
MVector v a => MutablePushBack (Deque v s a) Source # |
Instance details Defined in Data.Mutable.Deque Methods pushBack :: (PrimMonad m, PrimState m ~ MCState (Deque v s a)) => Deque v s a -> CollElement (Deque v s a) -> m () Source #
MVector v a => MutablePushFront (Deque v s a) Source # |
Instance details Defined in Data.Mutable.Deque Methods pushFront :: (PrimMonad m, PrimState m ~ MCState (Deque v s a)) => Deque v s a -> CollElement (Deque v s a) -> m () Source #
type CollElement (Deque v s a) Source # |
Instance details Defined in Data.Mutable.Deque type CollElement (Deque v s a) = a
type MCState (Deque v s a) Source # |
Instance details Defined in Data.Mutable.Deque type MCState (Deque v s a) = s

type UDeque = Deque MVector Source #

A `Deque` specialized to unboxed vectors.

Since 0.2.0

asUDeque :: UDeque s a -> UDeque s a Source #

Since 0.2.0

type SDeque = Deque MVector Source #

A `Deque` specialized to storable vectors.

Since 0.2.0

asSDeque :: SDeque s a -> SDeque s a Source #

Since 0.2.0

type BDeque = Deque MVector Source #

A `Deque` specialized to boxed vectors.

Since 0.2.0

asBDeque :: BDeque s a -> BDeque s a Source #

Since 0.2.0

data DLList s a Source #

A doubly-linked list.

Since 0.3.0

#### Instances

Instances details

MutableCollection (DLList s a) Source # |

Instance details

Defined in Data.Mutable.DLList

Associated Types

type CollElement (DLList s a) |
Instance details Defined in Data.Mutable.DLList type CollElement (DLList s a) = a

Methods

newColl :: (PrimMonad m, PrimState m ~ MCState (DLList s a)) => m (DLList s a) Source #

MutableContainer (DLList s a) Source # |

Instance details

Defined in Data.Mutable.DLList

Associated Types

type MCState (DLList s a) |
Instance details Defined in Data.Mutable.DLList type MCState (DLList s a) = s

MutablePopBack (DLList s a) Source # |
Instance details Defined in Data.Mutable.DLList Methods popBack :: (PrimMonad m, PrimState m ~ MCState (DLList s a)) => DLList s a -> m (Maybe (CollElement (DLList s a))) Source #
MutablePopFront (DLList s a) Source # |
Instance details Defined in Data.Mutable.DLList Methods popFront :: (PrimMonad m, PrimState m ~ MCState (DLList s a)) => DLList s a -> m (Maybe (CollElement (DLList s a))) Source #
MutablePushBack (DLList s a) Source # |
Instance details Defined in Data.Mutable.DLList Methods pushBack :: (PrimMonad m, PrimState m ~ MCState (DLList s a)) => DLList s a -> CollElement (DLList s a) -> m () Source #
MutablePushFront (DLList s a) Source # |
Instance details Defined in Data.Mutable.DLList Methods pushFront :: (PrimMonad m, PrimState m ~ MCState (DLList s a)) => DLList s a -> CollElement (DLList s a) -> m () Source #
type CollElement (DLList s a) Source # |
Instance details Defined in Data.Mutable.DLList type CollElement (DLList s a) = a
type MCState (DLList s a) Source # |
Instance details Defined in Data.Mutable.DLList type MCState (DLList s a) = s

asDLList :: DLList s a -> DLList s a Source #

Since 0.2.0

# Type classes

class MutableContainer c Source #

The parent typeclass for all mutable containers.

Since 0.2.0

Associated Types

type MCState c Source #

Associated type giving the primitive state token for the given container, much like `PrimState` from primitive.

Since 0.2.0

#### Instances

Instances details

MutableContainer (IORef a) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type MCState (IORef a) |
Instance details Defined in Data.Mutable.Class type MCState (IORef a) = PrimState IO

MutableContainer (STRef s a) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type MCState (STRef s a) |
Instance details Defined in Data.Mutable.Class type MCState (STRef s a) = s

MutableContainer (BRef s a) Source # |

Instance details

Defined in Data.Mutable.BRef

Associated Types

type MCState (BRef s a) |
Instance details Defined in Data.Mutable.BRef type MCState (BRef s a) = s

MutableContainer (DLList s a) Source # |

Instance details

Defined in Data.Mutable.DLList

Associated Types

type MCState (DLList s a) |
Instance details Defined in Data.Mutable.DLList type MCState (DLList s a) = s

MutableContainer (PRef s a) Source # |

Instance details

Defined in Data.Mutable.PRef

Associated Types

type MCState (PRef s a) |
Instance details Defined in Data.Mutable.PRef type MCState (PRef s a) = s

MutableContainer (SRef s a) Source # |

Instance details

Defined in Data.Mutable.SRef

Associated Types

type MCState (SRef s a) |
Instance details Defined in Data.Mutable.SRef type MCState (SRef s a) = s

MutableContainer (URef s a) Source # |

Instance details

Defined in Data.Mutable.URef

Associated Types

type MCState (URef s a) |
Instance details Defined in Data.Mutable.URef type MCState (URef s a) = s

MutableContainer (MutVar s a) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type MCState (MutVar s a) |
Instance details Defined in Data.Mutable.Class type MCState (MutVar s a) = s

MutableContainer (Deque v s a) Source # |

Instance details

Defined in Data.Mutable.Deque

Associated Types

type MCState (Deque v s a) |
Instance details Defined in Data.Mutable.Deque type MCState (Deque v s a) = s

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

Instances details

MutableRef (IORef a) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type RefElement (IORef a) |
Instance details Defined in Data.Mutable.Class type RefElement (IORef a) = a

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 # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type RefElement (STRef s a) |
Instance details Defined in Data.Mutable.Class type RefElement (STRef s a) = a

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 # |

Instance details

Defined in Data.Mutable.BRef

Associated Types

type RefElement (BRef s a) |
Instance details Defined in Data.Mutable.BRef type RefElement (BRef s a) = a

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 # |

Instance details

Defined in Data.Mutable.PRef

Associated Types

type RefElement (PRef s a) |
Instance details Defined in Data.Mutable.PRef type RefElement (PRef s a) = a

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 # |

Instance details

Defined in Data.Mutable.SRef

Associated Types

type RefElement (SRef s a) |
Instance details Defined in Data.Mutable.SRef type RefElement (SRef s a) = a

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 # |

Instance details

Defined in Data.Mutable.URef

Associated Types

type RefElement (URef s a) |
Instance details Defined in Data.Mutable.URef type RefElement (URef s a) = a

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 # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type RefElement (MutVar s a) |
Instance details Defined in Data.Mutable.Class type RefElement (MutVar s a) = a

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

Instances details

MutableAtomicRef (IORef a) Source # |
Instance details 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 # |
Instance details 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

Associated Types

type CollElement c Source #

The type of each value in the collection.

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

Instances details

Monoid w => MutableCollection (IORef w) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type CollElement (IORef w) |
Instance details Defined in Data.Mutable.Class type CollElement (IORef w) = Element w

Methods

newColl :: (PrimMonad m, PrimState m ~ MCState (IORef w)) => m (IORef w) Source #

Monoid w => MutableCollection (STRef s w) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type CollElement (STRef s w) |
Instance details Defined in Data.Mutable.Class type CollElement (STRef s w) = Element w

Methods

newColl :: (PrimMonad m, PrimState m ~ MCState (STRef s w)) => m (STRef s w) Source #

Monoid w => MutableCollection (BRef s w) Source # |

Instance details

Defined in Data.Mutable.BRef

Associated Types

type CollElement (BRef s w) |
Instance details Defined in Data.Mutable.BRef type CollElement (BRef s w) = Element w

Methods

newColl :: (PrimMonad m, PrimState m ~ MCState (BRef s w)) => m (BRef s w) Source #

MutableCollection (DLList s a) Source # |

Instance details

Defined in Data.Mutable.DLList

Associated Types

type CollElement (DLList s a) |
Instance details Defined in Data.Mutable.DLList type CollElement (DLList s a) = a

Methods

newColl :: (PrimMonad m, PrimState m ~ MCState (DLList s a)) => m (DLList s a) Source #

Monoid w => MutableCollection (MutVar s w) Source # |

Instance details

Defined in Data.Mutable.Class

Associated Types

type CollElement (MutVar s w) |
Instance details Defined in Data.Mutable.Class type CollElement (MutVar s w) = Element w

Methods

newColl :: (PrimMonad m, PrimState m ~ MCState (MutVar s w)) => m (MutVar s w) Source #

MVector v a => MutableCollection (Deque v s a) Source # |

Instance details

Defined in Data.Mutable.Deque

Associated Types

type CollElement (Deque v s a) |
Instance details Defined in Data.Mutable.Deque type CollElement (Deque v s a) = a

Methods

newColl :: (PrimMonad m, PrimState m ~ MCState (Deque v s a)) => m (Deque v s a) Source #

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

Instances details

IsSequence a => MutablePushFront (IORef a) Source # |
Instance details Defined in Data.Mutable.Class Methods pushFront :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> CollElement (IORef a) -> m () Source #
IsSequence a => MutablePushFront (STRef s a) Source # |
Instance details Defined in Data.Mutable.Class Methods pushFront :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> CollElement (STRef s a) -> m () Source #
IsSequence seq => MutablePushFront (BRef s seq) Source # |
Instance details Defined in Data.Mutable.BRef Methods pushFront :: (PrimMonad m, PrimState m ~ MCState (BRef s seq)) => BRef s seq -> CollElement (BRef s seq) -> m () Source #
MutablePushFront (DLList s a) Source # |
Instance details Defined in Data.Mutable.DLList Methods pushFront :: (PrimMonad m, PrimState m ~ MCState (DLList s a)) => DLList s a -> CollElement (DLList s a) -> m () Source #
IsSequence a => MutablePushFront (MutVar s a) Source # |
Instance details Defined in Data.Mutable.Class Methods pushFront :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> CollElement (MutVar s a) -> m () Source #
MVector v a => MutablePushFront (Deque v s a) Source # |
Instance details Defined in Data.Mutable.Deque Methods pushFront :: (PrimMonad m, PrimState m ~ MCState (Deque v s a)) => Deque v s a -> CollElement (Deque v s a) -> m () 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

Instances details

IsSequence a => MutablePushBack (IORef a) Source # |
Instance details Defined in Data.Mutable.Class Methods pushBack :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> CollElement (IORef a) -> m () Source #
IsSequence a => MutablePushBack (STRef s a) Source # |
Instance details Defined in Data.Mutable.Class Methods pushBack :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> CollElement (STRef s a) -> m () Source #
IsSequence seq => MutablePushBack (BRef s seq) Source # |
Instance details Defined in Data.Mutable.BRef Methods pushBack :: (PrimMonad m, PrimState m ~ MCState (BRef s seq)) => BRef s seq -> CollElement (BRef s seq) -> m () Source #
MutablePushBack (DLList s a) Source # |
Instance details Defined in Data.Mutable.DLList Methods pushBack :: (PrimMonad m, PrimState m ~ MCState (DLList s a)) => DLList s a -> CollElement (DLList s a) -> m () Source #
IsSequence a => MutablePushBack (MutVar s a) Source # |
Instance details Defined in Data.Mutable.Class Methods pushBack :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> CollElement (MutVar s a) -> m () Source #
MVector v a => MutablePushBack (Deque v s a) Source # |
Instance details Defined in Data.Mutable.Deque Methods pushBack :: (PrimMonad m, PrimState m ~ MCState (Deque v s a)) => Deque v s a -> CollElement (Deque v s a) -> m () 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

Instances details

IsSequence a => MutablePopFront (IORef a) Source # |
Instance details Defined in Data.Mutable.Class Methods popFront :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> m (Maybe (CollElement (IORef a))) Source #
IsSequence a => MutablePopFront (STRef s a) Source # |
Instance details Defined in Data.Mutable.Class Methods popFront :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> m (Maybe (CollElement (STRef s a))) Source #
IsSequence seq => MutablePopFront (BRef s seq) Source # |
Instance details Defined in Data.Mutable.BRef Methods popFront :: (PrimMonad m, PrimState m ~ MCState (BRef s seq)) => BRef s seq -> m (Maybe (CollElement (BRef s seq))) Source #
MutablePopFront (DLList s a) Source # |
Instance details Defined in Data.Mutable.DLList Methods popFront :: (PrimMonad m, PrimState m ~ MCState (DLList s a)) => DLList s a -> m (Maybe (CollElement (DLList s a))) Source #
IsSequence a => MutablePopFront (MutVar s a) Source # |
Instance details Defined in Data.Mutable.Class Methods popFront :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> m (Maybe (CollElement (MutVar s a))) Source #
MVector v a => MutablePopFront (Deque v s a) Source # |
Instance details Defined in Data.Mutable.Deque Methods popFront :: (PrimMonad m, PrimState m ~ MCState (Deque v s a)) => Deque v s a -> m (Maybe (CollElement (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

Instances details

IsSequence a => MutablePopBack (IORef a) Source # |
Instance details Defined in Data.Mutable.Class Methods popBack :: (PrimMonad m, PrimState m ~ MCState (IORef a)) => IORef a -> m (Maybe (CollElement (IORef a))) Source #
IsSequence a => MutablePopBack (STRef s a) Source # |
Instance details Defined in Data.Mutable.Class Methods popBack :: (PrimMonad m, PrimState m ~ MCState (STRef s a)) => STRef s a -> m (Maybe (CollElement (STRef s a))) Source #
IsSequence seq => MutablePopBack (BRef s seq) Source # |
Instance details Defined in Data.Mutable.BRef Methods popBack :: (PrimMonad m, PrimState m ~ MCState (BRef s seq)) => BRef s seq -> m (Maybe (CollElement (BRef s seq))) Source #
MutablePopBack (DLList s a) Source # |
Instance details Defined in Data.Mutable.DLList Methods popBack :: (PrimMonad m, PrimState m ~ MCState (DLList s a)) => DLList s a -> m (Maybe (CollElement (DLList s a))) Source #
IsSequence a => MutablePopBack (MutVar s a) Source # |
Instance details Defined in Data.Mutable.Class Methods popBack :: (PrimMonad m, PrimState m ~ MCState (MutVar s a)) => MutVar s a -> m (Maybe (CollElement (MutVar s a))) Source #
MVector v a => MutablePopBack (Deque v s a) Source # |
Instance details Defined in Data.Mutable.Deque Methods popBack :: (PrimMonad m, PrimState m ~ MCState (Deque v s a)) => Deque v s a -> m (Maybe (CollElement (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) Source #

Class of monads which can perform primitive state-transformer actions.

Minimal complete definition

primitive

#### Instances

Instances details

PrimMonad IO |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState IO |
Instance details Defined in Control.Monad.Primitive type PrimState IO = RealWorld

Methods

primitive :: (State# (PrimState IO) -> (# State# (PrimState IO), a #)) -> IO a Source #

PrimMonad (ST s) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (ST s) |
Instance details Defined in Control.Monad.Primitive type PrimState (ST s) = s

Methods

primitive :: (State# (PrimState (ST s)) -> (# State# (PrimState (ST s)), a #)) -> ST s a Source #

PrimMonad (ST s) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (ST s) |
Instance details Defined in Control.Monad.Primitive type PrimState (ST s) = s

Methods

primitive :: (State# (PrimState (ST s)) -> (# State# (PrimState (ST s)), a #)) -> ST s a Source #

PrimMonad m => PrimMonad (MaybeT m) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (MaybeT m) |
Instance details Defined in Control.Monad.Primitive type PrimState (MaybeT m) = PrimState m

Methods

primitive :: (State# (PrimState (MaybeT m)) -> (# State# (PrimState (MaybeT m)), a #)) -> MaybeT m a Source #

(Monoid w, PrimMonad m) => PrimMonad (AccumT w m) | Since: primitive-0.6.3.0

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (AccumT w m) |
Instance details Defined in Control.Monad.Primitive type PrimState (AccumT w m) = PrimState m

Methods

primitive :: (State# (PrimState (AccumT w m)) -> (# State# (PrimState (AccumT w m)), a #)) -> AccumT w m a Source #

PrimMonad m => PrimMonad (ExceptT e m) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (ExceptT e m) |
Instance details Defined in Control.Monad.Primitive type PrimState (ExceptT e m) = PrimState m

Methods

primitive :: (State# (PrimState (ExceptT e m)) -> (# State# (PrimState (ExceptT e m)), a #)) -> ExceptT e m a Source #

PrimMonad m => PrimMonad (IdentityT m) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (IdentityT m) |
Instance details Defined in Control.Monad.Primitive type PrimState (IdentityT m) = PrimState m

Methods

primitive :: (State# (PrimState (IdentityT m)) -> (# State# (PrimState (IdentityT m)), a #)) -> IdentityT m a Source #

PrimMonad m => PrimMonad (ReaderT r m) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (ReaderT r m) |
Instance details Defined in Control.Monad.Primitive type PrimState (ReaderT r m) = PrimState m

Methods

primitive :: (State# (PrimState (ReaderT r m)) -> (# State# (PrimState (ReaderT r m)), a #)) -> ReaderT r m a Source #

PrimMonad m => PrimMonad (SelectT r m) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (SelectT r m) |
Instance details Defined in Control.Monad.Primitive type PrimState (SelectT r m) = PrimState m

Methods

primitive :: (State# (PrimState (SelectT r m)) -> (# State# (PrimState (SelectT r m)), a #)) -> SelectT r m a Source #

PrimMonad m => PrimMonad (StateT s m) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (StateT s m) |
Instance details Defined in Control.Monad.Primitive type PrimState (StateT s m) = PrimState m

Methods

primitive :: (State# (PrimState (StateT s m)) -> (# State# (PrimState (StateT s m)), a #)) -> StateT s m a Source #

PrimMonad m => PrimMonad (StateT s m) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (StateT s m) |
Instance details Defined in Control.Monad.Primitive type PrimState (StateT s m) = PrimState m

Methods

primitive :: (State# (PrimState (StateT s m)) -> (# State# (PrimState (StateT s m)), a #)) -> StateT s m a Source #

(Monoid w, PrimMonad m) => PrimMonad (WriterT w m) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (WriterT w m) |
Instance details Defined in Control.Monad.Primitive type PrimState (WriterT w m) = PrimState m

Methods

primitive :: (State# (PrimState (WriterT w m)) -> (# State# (PrimState (WriterT w m)), a #)) -> WriterT w m a Source #

(Monoid w, PrimMonad m) => PrimMonad (WriterT w m) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (WriterT w m) |
Instance details Defined in Control.Monad.Primitive type PrimState (WriterT w m) = PrimState m

Methods

primitive :: (State# (PrimState (WriterT w m)) -> (# State# (PrimState (WriterT w m)), a #)) -> WriterT w m a Source #

(Monoid w, PrimMonad m) => PrimMonad (WriterT w m) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (WriterT w m) |
Instance details Defined in Control.Monad.Primitive type PrimState (WriterT w m) = PrimState m

Methods

primitive :: (State# (PrimState (WriterT w m)) -> (# State# (PrimState (WriterT w m)), a #)) -> WriterT w m a Source #

PrimMonad m => PrimMonad (ContT r m) | Since: primitive-0.6.3.0

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (ContT r m) |
Instance details Defined in Control.Monad.Primitive type PrimState (ContT r m) = PrimState m

Methods

primitive :: (State# (PrimState (ContT r m)) -> (# State# (PrimState (ContT r m)), a #)) -> ContT r m a Source #

(Monoid w, PrimMonad m) => PrimMonad (RWST r w s m) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (RWST r w s m) |
Instance details Defined in Control.Monad.Primitive type PrimState (RWST r w s m) = PrimState m

Methods

primitive :: (State# (PrimState (RWST r w s m)) -> (# State# (PrimState (RWST r w s m)), a #)) -> RWST r w s m a Source #

(Monoid w, PrimMonad m) => PrimMonad (RWST r w s m) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (RWST r w s m) |
Instance details Defined in Control.Monad.Primitive type PrimState (RWST r w s m) = PrimState m

Methods

primitive :: (State# (PrimState (RWST r w s m)) -> (# State# (PrimState (RWST r w s m)), a #)) -> RWST r w s m a Source #

(Monoid w, PrimMonad m) => PrimMonad (RWST r w s m) |

Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (RWST r w s m) |
Instance details Defined in Control.Monad.Primitive type PrimState (RWST r w s m) = PrimState m

Methods

primitive :: (State# (PrimState (RWST r w s m)) -> (# State# (PrimState (RWST r w s m)), a #)) -> RWST r w s m a Source #

type family PrimState (m :: Type -> Type) Source #

State token type.

#### Instances

Instances details

type PrimState IO |
Instance details Defined in Control.Monad.Primitive type PrimState IO = RealWorld
type PrimState (ST s) |
Instance details Defined in Control.Monad.Primitive type PrimState (ST s) = s
type PrimState (ST s) |
Instance details Defined in Control.Monad.Primitive type PrimState (ST s) = s
type PrimState (MaybeT m) |
Instance details Defined in Control.Monad.Primitive type PrimState (MaybeT m) = PrimState m
type PrimState (AccumT w m) |
Instance details Defined in Control.Monad.Primitive type PrimState (AccumT w m) = PrimState m
type PrimState (ExceptT e m) |
Instance details Defined in Control.Monad.Primitive type PrimState (ExceptT e m) = PrimState m
type PrimState (IdentityT m) |
Instance details Defined in Control.Monad.Primitive type PrimState (IdentityT m) = PrimState m
type PrimState (ReaderT r m) |
Instance details Defined in Control.Monad.Primitive type PrimState (ReaderT r m) = PrimState m
type PrimState (SelectT r m) |
Instance details Defined in Control.Monad.Primitive type PrimState (SelectT r m) = PrimState m
type PrimState (StateT s m) |
Instance details Defined in Control.Monad.Primitive type PrimState (StateT s m) = PrimState m
type PrimState (StateT s m) |
Instance details Defined in Control.Monad.Primitive type PrimState (StateT s m) = PrimState m
type PrimState (WriterT w m) |
Instance details Defined in Control.Monad.Primitive type PrimState (WriterT w m) = PrimState m
type PrimState (WriterT w m) |
Instance details Defined in Control.Monad.Primitive type PrimState (WriterT w m) = PrimState m
type PrimState (WriterT w m) |
Instance details Defined in Control.Monad.Primitive type PrimState (WriterT w m) = PrimState m
type PrimState (ContT r m) |
Instance details Defined in Control.Monad.Primitive type PrimState (ContT r m) = PrimState m
type PrimState (RWST r w s m) |
Instance details Defined in Control.Monad.Primitive type PrimState (RWST r w s m) = PrimState m
type PrimState (RWST r w s m) |
Instance details Defined in Control.Monad.Primitive type PrimState (RWST r w s m) = PrimState m
type PrimState (RWST r w s m) |
Instance details Defined in Control.Monad.Primitive type PrimState (RWST r w s m) = PrimState m

data RealWorld Source #

`RealWorld` is deeply magical. It is primitive, but it is not unlifted (hence `ptrArg`). We never manipulate values of type `RealWorld`; it's only used in the type system, to parameterise `State#`.

class Prim a Source #

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

Instances details

Prim CBool |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CBool -> Int# Source #

sizeOf# :: CBool -> Int# Source #

alignmentOfType# :: Proxy CBool -> Int# Source #

alignment# :: CBool -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CBool Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CBool #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CBool -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CBool -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CBool Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CBool #) Source #

writeOffAddr# :: Addr# -> Int# -> CBool -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CBool -> State# s -> State# s Source #

Prim CChar |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CChar -> Int# Source #

sizeOf# :: CChar -> Int# Source #

alignmentOfType# :: Proxy CChar -> Int# Source #

alignment# :: CChar -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CChar Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CChar #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CChar -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CChar -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CChar Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CChar #) Source #

writeOffAddr# :: Addr# -> Int# -> CChar -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CChar -> State# s -> State# s Source #

Prim CClock |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CClock -> Int# Source #

sizeOf# :: CClock -> Int# Source #

alignmentOfType# :: Proxy CClock -> Int# Source #

alignment# :: CClock -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CClock Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CClock #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CClock -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CClock -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CClock Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CClock #) Source #

writeOffAddr# :: Addr# -> Int# -> CClock -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CClock -> State# s -> State# s Source #

Prim CDouble |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CDouble -> Int# Source #

sizeOf# :: CDouble -> Int# Source #

alignmentOfType# :: Proxy CDouble -> Int# Source #

alignment# :: CDouble -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CDouble Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CDouble #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CDouble -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CDouble -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CDouble Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CDouble #) Source #

writeOffAddr# :: Addr# -> Int# -> CDouble -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CDouble -> State# s -> State# s Source #

Prim CFloat |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CFloat -> Int# Source #

sizeOf# :: CFloat -> Int# Source #

alignmentOfType# :: Proxy CFloat -> Int# Source #

alignment# :: CFloat -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CFloat Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CFloat #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CFloat -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CFloat -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CFloat Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CFloat #) Source #

writeOffAddr# :: Addr# -> Int# -> CFloat -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CFloat -> State# s -> State# s Source #

Prim CInt |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CInt -> Int# Source #

sizeOf# :: CInt -> Int# Source #

alignmentOfType# :: Proxy CInt -> Int# Source #

alignment# :: CInt -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CInt Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CInt #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CInt -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CInt -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CInt Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CInt #) Source #

writeOffAddr# :: Addr# -> Int# -> CInt -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CInt -> State# s -> State# s Source #

Prim CIntMax |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CIntMax -> Int# Source #

sizeOf# :: CIntMax -> Int# Source #

alignmentOfType# :: Proxy CIntMax -> Int# Source #

alignment# :: CIntMax -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CIntMax Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CIntMax #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CIntMax -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CIntMax -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CIntMax Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CIntMax #) Source #

writeOffAddr# :: Addr# -> Int# -> CIntMax -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CIntMax -> State# s -> State# s Source #

Prim CIntPtr |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CIntPtr -> Int# Source #

sizeOf# :: CIntPtr -> Int# Source #

alignmentOfType# :: Proxy CIntPtr -> Int# Source #

alignment# :: CIntPtr -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CIntPtr Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CIntPtr #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CIntPtr -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CIntPtr -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CIntPtr Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CIntPtr #) Source #

writeOffAddr# :: Addr# -> Int# -> CIntPtr -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CIntPtr -> State# s -> State# s Source #

Prim CLLong |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CLLong -> Int# Source #

sizeOf# :: CLLong -> Int# Source #

alignmentOfType# :: Proxy CLLong -> Int# Source #

alignment# :: CLLong -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CLLong Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CLLong #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CLLong -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CLLong -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CLLong Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CLLong #) Source #

writeOffAddr# :: Addr# -> Int# -> CLLong -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CLLong -> State# s -> State# s Source #

Prim CLong |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CLong -> Int# Source #

sizeOf# :: CLong -> Int# Source #

alignmentOfType# :: Proxy CLong -> Int# Source #

alignment# :: CLong -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CLong Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CLong #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CLong -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CLong -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CLong Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CLong #) Source #

writeOffAddr# :: Addr# -> Int# -> CLong -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CLong -> State# s -> State# s Source #

Prim CPtrdiff |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CPtrdiff -> Int# Source #

sizeOf# :: CPtrdiff -> Int# Source #

alignmentOfType# :: Proxy CPtrdiff -> Int# Source #

alignment# :: CPtrdiff -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CPtrdiff Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CPtrdiff #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CPtrdiff -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CPtrdiff -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CPtrdiff Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CPtrdiff #) Source #

writeOffAddr# :: Addr# -> Int# -> CPtrdiff -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CPtrdiff -> State# s -> State# s Source #

Prim CSChar |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CSChar -> Int# Source #

sizeOf# :: CSChar -> Int# Source #

alignmentOfType# :: Proxy CSChar -> Int# Source #

alignment# :: CSChar -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CSChar Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSChar #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CSChar -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSChar -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CSChar Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSChar #) Source #

writeOffAddr# :: Addr# -> Int# -> CSChar -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CSChar -> State# s -> State# s Source #

Prim CSUSeconds |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CSUSeconds -> Int# Source #

sizeOf# :: CSUSeconds -> Int# Source #

alignmentOfType# :: Proxy CSUSeconds -> Int# Source #

alignment# :: CSUSeconds -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CSUSeconds Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSUSeconds #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CSUSeconds -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSUSeconds -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CSUSeconds Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSUSeconds #) Source #

writeOffAddr# :: Addr# -> Int# -> CSUSeconds -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CSUSeconds -> State# s -> State# s Source #

Prim CShort |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CShort -> Int# Source #

sizeOf# :: CShort -> Int# Source #

alignmentOfType# :: Proxy CShort -> Int# Source #

alignment# :: CShort -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CShort Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CShort #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CShort -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CShort -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CShort Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CShort #) Source #

writeOffAddr# :: Addr# -> Int# -> CShort -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CShort -> State# s -> State# s Source #

Prim CSigAtomic |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CSigAtomic -> Int# Source #

sizeOf# :: CSigAtomic -> Int# Source #

alignmentOfType# :: Proxy CSigAtomic -> Int# Source #

alignment# :: CSigAtomic -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CSigAtomic Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSigAtomic #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CSigAtomic -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSigAtomic -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CSigAtomic Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSigAtomic #) Source #

writeOffAddr# :: Addr# -> Int# -> CSigAtomic -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CSigAtomic -> State# s -> State# s Source #

Prim CSize |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CSize -> Int# Source #

sizeOf# :: CSize -> Int# Source #

alignmentOfType# :: Proxy CSize -> Int# Source #

alignment# :: CSize -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CSize Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSize #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CSize -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSize -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CSize Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSize #) Source #

writeOffAddr# :: Addr# -> Int# -> CSize -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CSize -> State# s -> State# s Source #

Prim CTime |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CTime -> Int# Source #

sizeOf# :: CTime -> Int# Source #

alignmentOfType# :: Proxy CTime -> Int# Source #

alignment# :: CTime -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CTime Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CTime #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CTime -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CTime -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CTime Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CTime #) Source #

writeOffAddr# :: Addr# -> Int# -> CTime -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CTime -> State# s -> State# s Source #

Prim CUChar |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CUChar -> Int# Source #

sizeOf# :: CUChar -> Int# Source #

alignmentOfType# :: Proxy CUChar -> Int# Source #

alignment# :: CUChar -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CUChar Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUChar #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CUChar -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUChar -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CUChar Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUChar #) Source #

writeOffAddr# :: Addr# -> Int# -> CUChar -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CUChar -> State# s -> State# s Source #

Prim CUInt |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CUInt -> Int# Source #

sizeOf# :: CUInt -> Int# Source #

alignmentOfType# :: Proxy CUInt -> Int# Source #

alignment# :: CUInt -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CUInt Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUInt #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CUInt -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUInt -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CUInt Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUInt #) Source #

writeOffAddr# :: Addr# -> Int# -> CUInt -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CUInt -> State# s -> State# s Source #

Prim CUIntMax |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CUIntMax -> Int# Source #

sizeOf# :: CUIntMax -> Int# Source #

alignmentOfType# :: Proxy CUIntMax -> Int# Source #

alignment# :: CUIntMax -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CUIntMax Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUIntMax #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CUIntMax -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUIntMax -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CUIntMax Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUIntMax #) Source #

writeOffAddr# :: Addr# -> Int# -> CUIntMax -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CUIntMax -> State# s -> State# s Source #

Prim CUIntPtr |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CUIntPtr -> Int# Source #

sizeOf# :: CUIntPtr -> Int# Source #

alignmentOfType# :: Proxy CUIntPtr -> Int# Source #

alignment# :: CUIntPtr -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CUIntPtr Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUIntPtr #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CUIntPtr -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUIntPtr -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CUIntPtr Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUIntPtr #) Source #

writeOffAddr# :: Addr# -> Int# -> CUIntPtr -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CUIntPtr -> State# s -> State# s Source #

Prim CULLong |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CULLong -> Int# Source #

sizeOf# :: CULLong -> Int# Source #

alignmentOfType# :: Proxy CULLong -> Int# Source #

alignment# :: CULLong -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CULLong Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CULLong #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CULLong -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CULLong -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CULLong Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CULLong #) Source #

writeOffAddr# :: Addr# -> Int# -> CULLong -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CULLong -> State# s -> State# s Source #

Prim CULong |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CULong -> Int# Source #

sizeOf# :: CULong -> Int# Source #

alignmentOfType# :: Proxy CULong -> Int# Source #

alignment# :: CULong -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CULong Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CULong #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CULong -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CULong -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CULong Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CULong #) Source #

writeOffAddr# :: Addr# -> Int# -> CULong -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CULong -> State# s -> State# s Source #

Prim CUSeconds |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CUSeconds -> Int# Source #

sizeOf# :: CUSeconds -> Int# Source #

alignmentOfType# :: Proxy CUSeconds -> Int# Source #

alignment# :: CUSeconds -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CUSeconds Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUSeconds #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CUSeconds -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUSeconds -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CUSeconds Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUSeconds #) Source #

writeOffAddr# :: Addr# -> Int# -> CUSeconds -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CUSeconds -> State# s -> State# s Source #

Prim CUShort |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CUShort -> Int# Source #

sizeOf# :: CUShort -> Int# Source #

alignmentOfType# :: Proxy CUShort -> Int# Source #

alignment# :: CUShort -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CUShort Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUShort #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CUShort -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUShort -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CUShort Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUShort #) Source #

writeOffAddr# :: Addr# -> Int# -> CUShort -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CUShort -> State# s -> State# s Source #

Prim CWchar |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CWchar -> Int# Source #

sizeOf# :: CWchar -> Int# Source #

alignmentOfType# :: Proxy CWchar -> Int# Source #

alignment# :: CWchar -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CWchar Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CWchar #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CWchar -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CWchar -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CWchar Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CWchar #) Source #

writeOffAddr# :: Addr# -> Int# -> CWchar -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CWchar -> State# s -> State# s Source #

Prim IntPtr | Since: primitive-0.7.1.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy IntPtr -> Int# Source #

sizeOf# :: IntPtr -> Int# Source #

alignmentOfType# :: Proxy IntPtr -> Int# Source #

alignment# :: IntPtr -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> IntPtr Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, IntPtr #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> IntPtr -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> IntPtr -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> IntPtr Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, IntPtr #) Source #

writeOffAddr# :: Addr# -> Int# -> IntPtr -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> IntPtr -> State# s -> State# s Source #

Prim WordPtr | Since: primitive-0.7.1.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy WordPtr -> Int# Source #

sizeOf# :: WordPtr -> Int# Source #

alignmentOfType# :: Proxy WordPtr -> Int# Source #

alignment# :: WordPtr -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> WordPtr Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, WordPtr #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> WordPtr -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> WordPtr -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> WordPtr Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, WordPtr #) Source #

writeOffAddr# :: Addr# -> Int# -> WordPtr -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> WordPtr -> State# s -> State# s Source #

Prim Int16 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Int16 -> Int# Source #

sizeOf# :: Int16 -> Int# Source #

alignmentOfType# :: Proxy Int16 -> Int# Source #

alignment# :: Int16 -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Int16 Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int16 #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int16 -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Int16 Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int16 #) Source #

writeOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Int16 -> State# s -> State# s Source #

Prim Int32 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Int32 -> Int# Source #

sizeOf# :: Int32 -> Int# Source #

alignmentOfType# :: Proxy Int32 -> Int# Source #

alignment# :: Int32 -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Int32 Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int32 #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int32 -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Int32 Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int32 #) Source #

writeOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Int32 -> State# s -> State# s Source #

Prim Int64 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Int64 -> Int# Source #

sizeOf# :: Int64 -> Int# Source #

alignmentOfType# :: Proxy Int64 -> Int# Source #

alignment# :: Int64 -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Int64 Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int64 #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int64 -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Int64 Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int64 #) Source #

writeOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Int64 -> State# s -> State# s Source #

Prim Int8 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Int8 -> Int# Source #

sizeOf# :: Int8 -> Int# Source #

alignmentOfType# :: Proxy Int8 -> Int# Source #

alignment# :: Int8 -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Int8 Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int8 #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int8 -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Int8 Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int8 #) Source #

writeOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Int8 -> State# s -> State# s Source #

Prim CBlkCnt |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CBlkCnt -> Int# Source #

sizeOf# :: CBlkCnt -> Int# Source #

alignmentOfType# :: Proxy CBlkCnt -> Int# Source #

alignment# :: CBlkCnt -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CBlkCnt Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CBlkCnt #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CBlkCnt -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CBlkCnt -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CBlkCnt Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CBlkCnt #) Source #

writeOffAddr# :: Addr# -> Int# -> CBlkCnt -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CBlkCnt -> State# s -> State# s Source #

Prim CBlkSize |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CBlkSize -> Int# Source #

sizeOf# :: CBlkSize -> Int# Source #

alignmentOfType# :: Proxy CBlkSize -> Int# Source #

alignment# :: CBlkSize -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CBlkSize Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CBlkSize #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CBlkSize -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CBlkSize -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CBlkSize Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CBlkSize #) Source #

writeOffAddr# :: Addr# -> Int# -> CBlkSize -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CBlkSize -> State# s -> State# s Source #

Prim CCc |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CCc -> Int# Source #

sizeOf# :: CCc -> Int# Source #

alignmentOfType# :: Proxy CCc -> Int# Source #

alignment# :: CCc -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CCc Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CCc #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CCc -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CCc -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CCc Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CCc #) Source #

writeOffAddr# :: Addr# -> Int# -> CCc -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CCc -> State# s -> State# s Source #

Prim CClockId |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CClockId -> Int# Source #

sizeOf# :: CClockId -> Int# Source #

alignmentOfType# :: Proxy CClockId -> Int# Source #

alignment# :: CClockId -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CClockId Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CClockId #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CClockId -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CClockId -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CClockId Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CClockId #) Source #

writeOffAddr# :: Addr# -> Int# -> CClockId -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CClockId -> State# s -> State# s Source #

Prim CDev |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CDev -> Int# Source #

sizeOf# :: CDev -> Int# Source #

alignmentOfType# :: Proxy CDev -> Int# Source #

alignment# :: CDev -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CDev Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CDev #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CDev -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CDev -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CDev Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CDev #) Source #

writeOffAddr# :: Addr# -> Int# -> CDev -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CDev -> State# s -> State# s Source #

Prim CFsBlkCnt |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CFsBlkCnt -> Int# Source #

sizeOf# :: CFsBlkCnt -> Int# Source #

alignmentOfType# :: Proxy CFsBlkCnt -> Int# Source #

alignment# :: CFsBlkCnt -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CFsBlkCnt Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CFsBlkCnt #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CFsBlkCnt -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CFsBlkCnt -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CFsBlkCnt Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CFsBlkCnt #) Source #

writeOffAddr# :: Addr# -> Int# -> CFsBlkCnt -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CFsBlkCnt -> State# s -> State# s Source #

Prim CFsFilCnt |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CFsFilCnt -> Int# Source #

sizeOf# :: CFsFilCnt -> Int# Source #

alignmentOfType# :: Proxy CFsFilCnt -> Int# Source #

alignment# :: CFsFilCnt -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CFsFilCnt Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CFsFilCnt #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CFsFilCnt -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CFsFilCnt -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CFsFilCnt Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CFsFilCnt #) Source #

writeOffAddr# :: Addr# -> Int# -> CFsFilCnt -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CFsFilCnt -> State# s -> State# s Source #

Prim CGid |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CGid -> Int# Source #

sizeOf# :: CGid -> Int# Source #

alignmentOfType# :: Proxy CGid -> Int# Source #

alignment# :: CGid -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CGid Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CGid #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CGid -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CGid -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CGid Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CGid #) Source #

writeOffAddr# :: Addr# -> Int# -> CGid -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CGid -> State# s -> State# s Source #

Prim CId |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CId -> Int# Source #

sizeOf# :: CId -> Int# Source #

alignmentOfType# :: Proxy CId -> Int# Source #

alignment# :: CId -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CId Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CId #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CId -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CId -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CId Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CId #) Source #

writeOffAddr# :: Addr# -> Int# -> CId -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CId -> State# s -> State# s Source #

Prim CIno |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CIno -> Int# Source #

sizeOf# :: CIno -> Int# Source #

alignmentOfType# :: Proxy CIno -> Int# Source #

alignment# :: CIno -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CIno Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CIno #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CIno -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CIno -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CIno Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CIno #) Source #

writeOffAddr# :: Addr# -> Int# -> CIno -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CIno -> State# s -> State# s Source #

Prim CKey |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CKey -> Int# Source #

sizeOf# :: CKey -> Int# Source #

alignmentOfType# :: Proxy CKey -> Int# Source #

alignment# :: CKey -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CKey Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CKey #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CKey -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CKey -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CKey Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CKey #) Source #

writeOffAddr# :: Addr# -> Int# -> CKey -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CKey -> State# s -> State# s Source #

Prim CMode |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CMode -> Int# Source #

sizeOf# :: CMode -> Int# Source #

alignmentOfType# :: Proxy CMode -> Int# Source #

alignment# :: CMode -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CMode Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CMode #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CMode -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CMode -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CMode Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CMode #) Source #

writeOffAddr# :: Addr# -> Int# -> CMode -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CMode -> State# s -> State# s Source #

Prim CNlink |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CNlink -> Int# Source #

sizeOf# :: CNlink -> Int# Source #

alignmentOfType# :: Proxy CNlink -> Int# Source #

alignment# :: CNlink -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CNlink Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CNlink #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CNlink -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CNlink -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CNlink Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CNlink #) Source #

writeOffAddr# :: Addr# -> Int# -> CNlink -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CNlink -> State# s -> State# s Source #

Prim COff |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy COff -> Int# Source #

sizeOf# :: COff -> Int# Source #

alignmentOfType# :: Proxy COff -> Int# Source #

alignment# :: COff -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> COff Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, COff #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> COff -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> COff -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> COff Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, COff #) Source #

writeOffAddr# :: Addr# -> Int# -> COff -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> COff -> State# s -> State# s Source #

Prim CPid |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CPid -> Int# Source #

sizeOf# :: CPid -> Int# Source #

alignmentOfType# :: Proxy CPid -> Int# Source #

alignment# :: CPid -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CPid Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CPid #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CPid -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CPid -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CPid Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CPid #) Source #

writeOffAddr# :: Addr# -> Int# -> CPid -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CPid -> State# s -> State# s Source #

Prim CRLim |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CRLim -> Int# Source #

sizeOf# :: CRLim -> Int# Source #

alignmentOfType# :: Proxy CRLim -> Int# Source #

alignment# :: CRLim -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CRLim Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CRLim #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CRLim -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CRLim -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CRLim Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CRLim #) Source #

writeOffAddr# :: Addr# -> Int# -> CRLim -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CRLim -> State# s -> State# s Source #

Prim CSpeed |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CSpeed -> Int# Source #

sizeOf# :: CSpeed -> Int# Source #

alignmentOfType# :: Proxy CSpeed -> Int# Source #

alignment# :: CSpeed -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CSpeed Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSpeed #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CSpeed -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSpeed -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CSpeed Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSpeed #) Source #

writeOffAddr# :: Addr# -> Int# -> CSpeed -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CSpeed -> State# s -> State# s Source #

Prim CSsize |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CSsize -> Int# Source #

sizeOf# :: CSsize -> Int# Source #

alignmentOfType# :: Proxy CSsize -> Int# Source #

alignment# :: CSsize -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CSsize Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CSsize #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CSsize -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CSsize -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CSsize Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CSsize #) Source #

writeOffAddr# :: Addr# -> Int# -> CSsize -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CSsize -> State# s -> State# s Source #

Prim CTcflag |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CTcflag -> Int# Source #

sizeOf# :: CTcflag -> Int# Source #

alignmentOfType# :: Proxy CTcflag -> Int# Source #

alignment# :: CTcflag -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CTcflag Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CTcflag #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CTcflag -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CTcflag -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CTcflag Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CTcflag #) Source #

writeOffAddr# :: Addr# -> Int# -> CTcflag -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CTcflag -> State# s -> State# s Source #

Prim CTimer |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CTimer -> Int# Source #

sizeOf# :: CTimer -> Int# Source #

alignmentOfType# :: Proxy CTimer -> Int# Source #

alignment# :: CTimer -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CTimer Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CTimer #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CTimer -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CTimer -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CTimer Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CTimer #) Source #

writeOffAddr# :: Addr# -> Int# -> CTimer -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CTimer -> State# s -> State# s Source #

Prim CUid |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy CUid -> Int# Source #

sizeOf# :: CUid -> Int# Source #

alignmentOfType# :: Proxy CUid -> Int# Source #

alignment# :: CUid -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> CUid Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, CUid #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> CUid -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> CUid -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> CUid Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, CUid #) Source #

writeOffAddr# :: Addr# -> Int# -> CUid -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> CUid -> State# s -> State# s Source #

Prim Fd |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Fd -> Int# Source #

sizeOf# :: Fd -> Int# Source #

alignmentOfType# :: Proxy Fd -> Int# Source #

alignment# :: Fd -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Fd Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Fd #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Fd -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Fd -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Fd Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Fd #) Source #

writeOffAddr# :: Addr# -> Int# -> Fd -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Fd -> State# s -> State# s Source #

Prim Word16 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Word16 -> Int# Source #

sizeOf# :: Word16 -> Int# Source #

alignmentOfType# :: Proxy Word16 -> Int# Source #

alignment# :: Word16 -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Word16 Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word16 #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Word16 -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word16 -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Word16 Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word16 #) Source #

writeOffAddr# :: Addr# -> Int# -> Word16 -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Word16 -> State# s -> State# s Source #

Prim Word32 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Word32 -> Int# Source #

sizeOf# :: Word32 -> Int# Source #

alignmentOfType# :: Proxy Word32 -> Int# Source #

alignment# :: Word32 -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Word32 Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word32 #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Word32 -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word32 -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Word32 Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word32 #) Source #

writeOffAddr# :: Addr# -> Int# -> Word32 -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Word32 -> State# s -> State# s Source #

Prim Word64 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Word64 -> Int# Source #

sizeOf# :: Word64 -> Int# Source #

alignmentOfType# :: Proxy Word64 -> Int# Source #

alignment# :: Word64 -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Word64 Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word64 #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Word64 -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word64 -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Word64 Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word64 #) Source #

writeOffAddr# :: Addr# -> Int# -> Word64 -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Word64 -> State# s -> State# s Source #

Prim Word8 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Word8 -> Int# Source #

sizeOf# :: Word8 -> Int# Source #

alignmentOfType# :: Proxy Word8 -> Int# Source #

alignment# :: Word8 -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Word8 Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word8 #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word8 -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Word8 Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word8 #) Source #

writeOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Word8 -> State# s -> State# s Source #

Prim Char |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Char -> Int# Source #

sizeOf# :: Char -> Int# Source #

alignmentOfType# :: Proxy Char -> Int# Source #

alignment# :: Char -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Char Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Char #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Char -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Char -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Char Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Char #) Source #

writeOffAddr# :: Addr# -> Int# -> Char -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Char -> State# s -> State# s Source #

Prim Double |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Double -> Int# Source #

sizeOf# :: Double -> Int# Source #

alignmentOfType# :: Proxy Double -> Int# Source #

alignment# :: Double -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Double Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Double #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Double -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Double -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Double Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Double #) Source #

writeOffAddr# :: Addr# -> Int# -> Double -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Double -> State# s -> State# s Source #

Prim Float |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Float -> Int# Source #

sizeOf# :: Float -> Int# Source #

alignmentOfType# :: Proxy Float -> Int# Source #

alignment# :: Float -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Float Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Float #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Float -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Float -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Float Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Float #) Source #

writeOffAddr# :: Addr# -> Int# -> Float -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Float -> State# s -> State# s Source #

Prim Int |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Int -> Int# Source #

sizeOf# :: Int -> Int# Source #

alignmentOfType# :: Proxy Int -> Int# Source #

alignment# :: Int -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Int Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Int -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Int Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int #) Source #

writeOffAddr# :: Addr# -> Int# -> Int -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Int -> State# s -> State# s Source #

Prim Word |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy Word -> Int# Source #

sizeOf# :: Word -> Int# Source #

alignmentOfType# :: Proxy Word -> Int# Source #

alignment# :: Word -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Word Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Word -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Word Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word #) Source #

writeOffAddr# :: Addr# -> Int# -> Word -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Word -> State# s -> State# s Source #

Prim a => Prim (Complex a) | Since: primitive-0.9.0.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Complex a) -> Int# Source #

sizeOf# :: Complex a -> Int# Source #

alignmentOfType# :: Proxy (Complex a) -> Int# Source #

alignment# :: Complex a -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Complex a Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Complex a #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Complex a -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Complex a -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Complex a Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Complex a #) Source #

writeOffAddr# :: Addr# -> Int# -> Complex a -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Complex a -> State# s -> State# s Source #

Prim a => Prim (First a) | Since: primitive-0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (First a) -> Int# Source #

sizeOf# :: First a -> Int# Source #

alignmentOfType# :: Proxy (First a) -> Int# Source #

alignment# :: First a -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> First a Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, First a #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> First a -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> First a -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> First a Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, First a #) Source #

writeOffAddr# :: Addr# -> Int# -> First a -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> First a -> State# s -> State# s Source #

Prim a => Prim (Last a) | Since: primitive-0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Last a) -> Int# Source #

sizeOf# :: Last a -> Int# Source #

alignmentOfType# :: Proxy (Last a) -> Int# Source #

alignment# :: Last a -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Last a Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Last a #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Last a -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Last a -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Last a Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Last a #) Source #

writeOffAddr# :: Addr# -> Int# -> Last a -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Last a -> State# s -> State# s Source #

Prim a => Prim (Max a) | Since: primitive-0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Max a) -> Int# Source #

sizeOf# :: Max a -> Int# Source #

alignmentOfType# :: Proxy (Max a) -> Int# Source #

alignment# :: Max a -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Max a Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Max a #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Max a -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Max a -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Max a Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Max a #) Source #

writeOffAddr# :: Addr# -> Int# -> Max a -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Max a -> State# s -> State# s Source #

Prim a => Prim (Min a) | Since: primitive-0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Min a) -> Int# Source #

sizeOf# :: Min a -> Int# Source #

alignmentOfType# :: Proxy (Min a) -> Int# Source #

alignment# :: Min a -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Min a Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Min a #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Min a -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Min a -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Min a Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Min a #) Source #

writeOffAddr# :: Addr# -> Int# -> Min a -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Min a -> State# s -> State# s Source #

Prim a => Prim (Identity a) | Since: primitive-0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Identity a) -> Int# Source #

sizeOf# :: Identity a -> Int# Source #

alignmentOfType# :: Proxy (Identity a) -> Int# Source #

alignment# :: Identity a -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Identity a Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Identity a #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Identity a -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Identity a -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Identity a Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Identity a #) Source #

writeOffAddr# :: Addr# -> Int# -> Identity a -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Identity a -> State# s -> State# s Source #

Prim a => Prim (Down a) | Since: primitive-0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Down a) -> Int# Source #

sizeOf# :: Down a -> Int# Source #

alignmentOfType# :: Proxy (Down a) -> Int# Source #

alignment# :: Down a -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Down a Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Down a #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Down a -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Down a -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Down a Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Down a #) Source #

writeOffAddr# :: Addr# -> Int# -> Down a -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Down a -> State# s -> State# s Source #

Prim a => Prim (Dual a) | Since: primitive-0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Dual a) -> Int# Source #

sizeOf# :: Dual a -> Int# Source #

alignmentOfType# :: Proxy (Dual a) -> Int# Source #

alignment# :: Dual a -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Dual a Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Dual a #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Dual a -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Dual a -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Dual a Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Dual a #) Source #

writeOffAddr# :: Addr# -> Int# -> Dual a -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Dual a -> State# s -> State# s Source #

Prim a => Prim (Product a) | Since: primitive-0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Product a) -> Int# Source #

sizeOf# :: Product a -> Int# Source #

alignmentOfType# :: Proxy (Product a) -> Int# Source #

alignment# :: Product a -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Product a Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Product a #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Product a -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Product a -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Product a Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Product a #) Source #

writeOffAddr# :: Addr# -> Int# -> Product a -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Product a -> State# s -> State# s Source #

Prim a => Prim (Sum a) | Since: primitive-0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Sum a) -> Int# Source #

sizeOf# :: Sum a -> Int# Source #

alignmentOfType# :: Proxy (Sum a) -> Int# Source #

alignment# :: Sum a -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Sum a Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Sum a #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Sum a -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Sum a -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Sum a Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Sum a #) Source #

writeOffAddr# :: Addr# -> Int# -> Sum a -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Sum a -> State# s -> State# s Source #

Prim (FunPtr a) |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (FunPtr a) -> Int# Source #

sizeOf# :: FunPtr a -> Int# Source #

alignmentOfType# :: Proxy (FunPtr a) -> Int# Source #

alignment# :: FunPtr a -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> FunPtr a Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, FunPtr a #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> FunPtr a -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> FunPtr a -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> FunPtr a Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, FunPtr a #) Source #

writeOffAddr# :: Addr# -> Int# -> FunPtr a -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> FunPtr a -> State# s -> State# s Source #

Prim (Ptr a) |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Ptr a) -> Int# Source #

sizeOf# :: Ptr a -> Int# Source #

alignmentOfType# :: Proxy (Ptr a) -> Int# Source #

alignment# :: Ptr a -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Ptr a Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Ptr a #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Ptr a -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Ptr a -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Ptr a Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Ptr a #) Source #

writeOffAddr# :: Addr# -> Int# -> Ptr a -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Ptr a -> State# s -> State# s Source #

Prim (StablePtr a) |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (StablePtr a) -> Int# Source #

sizeOf# :: StablePtr a -> Int# Source #

alignmentOfType# :: Proxy (StablePtr a) -> Int# Source #

alignment# :: StablePtr a -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> StablePtr a Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, StablePtr a #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> StablePtr a -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> StablePtr a -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> StablePtr a Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, StablePtr a #) Source #

writeOffAddr# :: Addr# -> Int# -> StablePtr a -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> StablePtr a -> State# s -> State# s Source #

Prim a => Prim (Const a b) | Since: primitive-0.6.5.0

Instance details

Defined in Data.Primitive.Types

Methods

sizeOfType# :: Proxy (Const a b) -> Int# Source #

sizeOf# :: Const a b -> Int# Source #

alignmentOfType# :: Proxy (Const a b) -> Int# Source #

alignment# :: Const a b -> Int# Source #

indexByteArray# :: ByteArray# -> Int# -> Const a b Source #

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Const a b #) Source #

writeByteArray# :: MutableByteArray# s -> Int# -> Const a b -> State# s -> State# s Source #

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Const a b -> State# s -> State# s Source #

indexOffAddr# :: Addr# -> Int# -> Const a b Source #

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Const a b #) Source #

writeOffAddr# :: Addr# -> Int# -> Const a b -> State# s -> State# s Source #

setOffAddr# :: Addr# -> Int# -> Int# -> Const a b -> State# s -> State# s Source #

class (Vector Vector a, MVector MVector a) => Unbox a #

#### Instances

Instances details

Unbox All |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Any |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Int16 |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Int32 |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Int64 |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Int8 |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Word16 |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Word32 |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Word64 |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Word8 |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox () |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Bool |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Char |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Double |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Float |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Int |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox Word |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox a => Unbox (Complex a) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox a => Unbox (First a) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox a => Unbox (Last a) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox a => Unbox (Max a) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox a => Unbox (Min a) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox a => Unbox (WrappedMonoid a) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox a => Unbox (Identity a) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox a => Unbox (Down a) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox a => Unbox (Dual a) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox a => Unbox (Product a) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox a => Unbox (Sum a) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox (DoNotUnboxLazy a) |
Instance details Defined in Data.Vector.Unboxed.Base
NFData a => Unbox (DoNotUnboxNormalForm a) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox (DoNotUnboxStrict a) |
Instance details Defined in Data.Vector.Unboxed.Base
(Unbox a, Unbox b) => Unbox (Arg a b) |
Instance details Defined in Data.Vector.Unboxed.Base
(Unbox a, Unbox b) => Unbox (a, b) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox a => Unbox (Const a b) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox (f a) => Unbox (Alt f a) |
Instance details Defined in Data.Vector.Unboxed.Base
(Unbox a, Unbox b, Unbox c) => Unbox (a, b, c) |
Instance details Defined in Data.Vector.Unboxed.Base
(Unbox a, Unbox b, Unbox c, Unbox d) => Unbox (a, b, c, d) |
Instance details Defined in Data.Vector.Unboxed.Base
Unbox (f (g a)) => Unbox (Compose f g a) |
Instance details Defined in Data.Vector.Unboxed.Base
(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e) => Unbox (a, b, c, d, e) |
Instance details 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) |
Instance details Defined in Data.Vector.Unboxed.Base

class Storable a Source #

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 ``Ptr` a`, for some `a` 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

Instances details

Storable Fingerprint | Since: base-4.4.0.0

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Fingerprint -> Int Source #

alignment :: Fingerprint -> Int Source #

peekElemOff :: Ptr Fingerprint -> Int -> IO Fingerprint Source #

pokeElemOff :: Ptr Fingerprint -> Int -> Fingerprint -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Fingerprint Source #

pokeByteOff :: Ptr b -> Int -> Fingerprint -> IO () Source #

peek :: Ptr Fingerprint -> IO Fingerprint Source #

poke :: Ptr Fingerprint -> Fingerprint -> IO () Source #

Storable Int16 | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Int16 -> Int Source #

alignment :: Int16 -> Int Source #

peekElemOff :: Ptr Int16 -> Int -> IO Int16 Source #

pokeElemOff :: Ptr Int16 -> Int -> Int16 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Int16 Source #

pokeByteOff :: Ptr b -> Int -> Int16 -> IO () Source #

peek :: Ptr Int16 -> IO Int16 Source #

poke :: Ptr Int16 -> Int16 -> IO () Source #

Storable Int32 | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Int32 -> Int Source #

alignment :: Int32 -> Int Source #

peekElemOff :: Ptr Int32 -> Int -> IO Int32 Source #

pokeElemOff :: Ptr Int32 -> Int -> Int32 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Int32 Source #

pokeByteOff :: Ptr b -> Int -> Int32 -> IO () Source #

peek :: Ptr Int32 -> IO Int32 Source #

poke :: Ptr Int32 -> Int32 -> IO () Source #

Storable Int64 | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Int64 -> Int Source #

alignment :: Int64 -> Int Source #

peekElemOff :: Ptr Int64 -> Int -> IO Int64 Source #

pokeElemOff :: Ptr Int64 -> Int -> Int64 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Int64 Source #

pokeByteOff :: Ptr b -> Int -> Int64 -> IO () Source #

peek :: Ptr Int64 -> IO Int64 Source #

poke :: Ptr Int64 -> Int64 -> IO () Source #

Storable Int8 | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Int8 -> Int Source #

alignment :: Int8 -> Int Source #

peekElemOff :: Ptr Int8 -> Int -> IO Int8 Source #

pokeElemOff :: Ptr Int8 -> Int -> Int8 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Int8 Source #

pokeByteOff :: Ptr b -> Int -> Int8 -> IO () Source #

peek :: Ptr Int8 -> IO Int8 Source #

poke :: Ptr Int8 -> Int8 -> IO () Source #

Storable Word16 | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Word16 -> Int Source #

alignment :: Word16 -> Int Source #

peekElemOff :: Ptr Word16 -> Int -> IO Word16 Source #

pokeElemOff :: Ptr Word16 -> Int -> Word16 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Word16 Source #

pokeByteOff :: Ptr b -> Int -> Word16 -> IO () Source #

peek :: Ptr Word16 -> IO Word16 Source #

poke :: Ptr Word16 -> Word16 -> IO () Source #

Storable Word32 | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Word32 -> Int Source #

alignment :: Word32 -> Int Source #

peekElemOff :: Ptr Word32 -> Int -> IO Word32 Source #

pokeElemOff :: Ptr Word32 -> Int -> Word32 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Word32 Source #

pokeByteOff :: Ptr b -> Int -> Word32 -> IO () Source #

peek :: Ptr Word32 -> IO Word32 Source #

poke :: Ptr Word32 -> Word32 -> IO () Source #

Storable Word64 | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Word64 -> Int Source #

alignment :: Word64 -> Int Source #

peekElemOff :: Ptr Word64 -> Int -> IO Word64 Source #

pokeElemOff :: Ptr Word64 -> Int -> Word64 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Word64 Source #

pokeByteOff :: Ptr b -> Int -> Word64 -> IO () Source #

peek :: Ptr Word64 -> IO Word64 Source #

poke :: Ptr Word64 -> Word64 -> IO () Source #

Storable Word8 | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Word8 -> Int Source #

alignment :: Word8 -> Int Source #

peekElemOff :: Ptr Word8 -> Int -> IO Word8 Source #

pokeElemOff :: Ptr Word8 -> Int -> Word8 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Word8 Source #

pokeByteOff :: Ptr b -> Int -> Word8 -> IO () Source #

peek :: Ptr Word8 -> IO Word8 Source #

poke :: Ptr Word8 -> Word8 -> IO () Source #

Storable () | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Foreign.Storable Methods sizeOf :: () -> Int Source # alignment :: () -> Int Source # peekElemOff :: Ptr () -> Int -> IO () Source # pokeElemOff :: Ptr () -> Int -> () -> IO () Source # peekByteOff :: Ptr b -> Int -> IO () Source # pokeByteOff :: Ptr b -> Int -> () -> IO () Source # peek :: Ptr () -> IO () Source # poke :: Ptr () -> () -> IO () Source #
Storable Bool | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Bool -> Int Source #

alignment :: Bool -> Int Source #

peekElemOff :: Ptr Bool -> Int -> IO Bool Source #

pokeElemOff :: Ptr Bool -> Int -> Bool -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Bool Source #

pokeByteOff :: Ptr b -> Int -> Bool -> IO () Source #

peek :: Ptr Bool -> IO Bool Source #

poke :: Ptr Bool -> Bool -> IO () Source #

Storable Char | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Char -> Int Source #

alignment :: Char -> Int Source #

peekElemOff :: Ptr Char -> Int -> IO Char Source #

pokeElemOff :: Ptr Char -> Int -> Char -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Char Source #

pokeByteOff :: Ptr b -> Int -> Char -> IO () Source #

peek :: Ptr Char -> IO Char Source #

poke :: Ptr Char -> Char -> IO () Source #

Storable Double | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Double -> Int Source #

alignment :: Double -> Int Source #

peekElemOff :: Ptr Double -> Int -> IO Double Source #

pokeElemOff :: Ptr Double -> Int -> Double -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Double Source #

pokeByteOff :: Ptr b -> Int -> Double -> IO () Source #

peek :: Ptr Double -> IO Double Source #

poke :: Ptr Double -> Double -> IO () Source #

Storable Float | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Float -> Int Source #

alignment :: Float -> Int Source #

peekElemOff :: Ptr Float -> Int -> IO Float Source #

pokeElemOff :: Ptr Float -> Int -> Float -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Float Source #

pokeByteOff :: Ptr b -> Int -> Float -> IO () Source #

peek :: Ptr Float -> IO Float Source #

poke :: Ptr Float -> Float -> IO () Source #

Storable Int | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Int -> Int Source #

alignment :: Int -> Int Source #

peekElemOff :: Ptr Int -> Int -> IO Int Source #

pokeElemOff :: Ptr Int -> Int -> Int -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Int Source #

pokeByteOff :: Ptr b -> Int -> Int -> IO () Source #

peek :: Ptr Int -> IO Int Source #

poke :: Ptr Int -> Int -> IO () Source #

Storable Word | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Word -> Int Source #

alignment :: Word -> Int Source #

peekElemOff :: Ptr Word -> Int -> IO Word Source #

pokeElemOff :: Ptr Word -> Int -> Word -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Word Source #

pokeByteOff :: Ptr b -> Int -> Word -> IO () Source #

peek :: Ptr Word -> IO Word Source #

poke :: Ptr Word -> Word -> IO () Source #

Storable a => Storable (Complex a) | Since: base-4.8.0.0

Instance details

Defined in Data.Complex

Methods

sizeOf :: Complex a -> Int Source #

alignment :: Complex a -> Int Source #

peekElemOff :: Ptr (Complex a) -> Int -> IO (Complex a) Source #

pokeElemOff :: Ptr (Complex a) -> Int -> Complex a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (Complex a) Source #

pokeByteOff :: Ptr b -> Int -> Complex a -> IO () Source #

peek :: Ptr (Complex a) -> IO (Complex a) Source #

poke :: Ptr (Complex a) -> Complex a -> IO () Source #

Storable (ConstPtr a) |

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: ConstPtr a -> Int Source #

alignment :: ConstPtr a -> Int Source #

peekElemOff :: Ptr (ConstPtr a) -> Int -> IO (ConstPtr a) Source #

pokeElemOff :: Ptr (ConstPtr a) -> Int -> ConstPtr a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (ConstPtr a) Source #

pokeByteOff :: Ptr b -> Int -> ConstPtr a -> IO () Source #

peek :: Ptr (ConstPtr a) -> IO (ConstPtr a) Source #

poke :: Ptr (ConstPtr a) -> ConstPtr a -> IO () Source #

Storable (FunPtr a) | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: FunPtr a -> Int Source #

alignment :: FunPtr a -> Int Source #

peekElemOff :: Ptr (FunPtr a) -> Int -> IO (FunPtr a) Source #

pokeElemOff :: Ptr (FunPtr a) -> Int -> FunPtr a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (FunPtr a) Source #

pokeByteOff :: Ptr b -> Int -> FunPtr a -> IO () Source #

peek :: Ptr (FunPtr a) -> IO (FunPtr a) Source #

poke :: Ptr (FunPtr a) -> FunPtr a -> IO () Source #

Storable (Ptr a) | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Ptr a -> Int Source #

alignment :: Ptr a -> Int Source #

peekElemOff :: Ptr (Ptr a) -> Int -> IO (Ptr a) Source #

pokeElemOff :: Ptr (Ptr a) -> Int -> Ptr a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (Ptr a) Source #

pokeByteOff :: Ptr b -> Int -> Ptr a -> IO () Source #

peek :: Ptr (Ptr a) -> IO (Ptr a) Source #

poke :: Ptr (Ptr a) -> Ptr a -> IO () Source #

(Storable a, Integral a) => Storable (Ratio a) | Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Ratio a -> Int Source #

alignment :: Ratio a -> Int Source #

peekElemOff :: Ptr (Ratio a) -> Int -> IO (Ratio a) Source #

pokeElemOff :: Ptr (Ratio a) -> Int -> Ratio a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (Ratio a) Source #

pokeByteOff :: Ptr b -> Int -> Ratio a -> IO () Source #

peek :: Ptr (Ratio a) -> IO (Ratio a) Source #

poke :: Ptr (Ratio a) -> Ratio a -> IO () Source #

Storable (StablePtr a) | Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: StablePtr a -> Int Source #

alignment :: StablePtr a -> Int Source #

peekElemOff :: Ptr (StablePtr a) -> Int -> IO (StablePtr a) Source #

pokeElemOff :: Ptr (StablePtr a) -> Int -> StablePtr a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (StablePtr a) Source #

pokeByteOff :: Ptr b -> Int -> StablePtr a -> IO () Source #

peek :: Ptr (StablePtr a) -> IO (StablePtr a) Source #

poke :: Ptr (StablePtr a) -> StablePtr a -> IO () Source #

Prim a => Storable (PrimStorable a) |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf :: PrimStorable a -> Int Source #

alignment :: PrimStorable a -> Int Source #

peekElemOff :: Ptr (PrimStorable a) -> Int -> IO (PrimStorable a) Source #

pokeElemOff :: Ptr (PrimStorable a) -> Int -> PrimStorable a -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO (PrimStorable a) Source #

pokeByteOff :: Ptr b -> Int -> PrimStorable a -> IO () Source #

peek :: Ptr (PrimStorable a) -> IO (PrimStorable a) Source #

poke :: Ptr (PrimStorable a) -> PrimStorable a -> IO () Source #