basement-0.0.10: Foundation scrap box of array & string

License | BSD-style
Maintainer | Vincent Hanquez <vincent@snarc.org>
Stability | experimental
Portability | portable
Safe Haskell | None
Language | Haskell2010

Basement.Exception

Description

Common part for vectors

Synopsis

- data OutOfBound = OutOfBound OutOfBoundOperation Int Int
- data OutOfBoundOperation
  - = OOB_Read
  - | OOB_Write
  - | OOB_MemSet
  - | OOB_MemCopy
  - | OOB_Index
- isOutOfBound :: Offset ty -> CountOf ty -> Bool
- outOfBound :: OutOfBoundOperation -> Offset ty -> CountOf ty -> a
- primOutOfBound :: PrimMonad prim => OutOfBoundOperation -> Offset ty -> CountOf ty -> prim a
- data InvalidRecast = InvalidRecast RecastSourceSize RecastDestinationSize
- newtype RecastSourceSize = RecastSourceSize Int
- newtype RecastDestinationSize = RecastDestinationSize Int
- data NonEmptyCollectionIsEmpty = NonEmptyCollectionIsEmpty

# Documentation

data OutOfBound Source #

Exception during an operation accessing the vector out of bound

Represent the type of operation, the index accessed, and the total length of the vector.

Constructors

OutOfBound OutOfBoundOperation Int Int |

Instances

Show OutOfBound Source # |
Instance details Defined in Basement.Exception Methods showsPrec :: Int -> OutOfBound -> ShowS Source # show :: OutOfBound -> String Source # showList :: [OutOfBound] -> ShowS Source #
Exception OutOfBound Source # |
Instance details Defined in Basement.Exception Methods toException :: OutOfBound -> SomeException Source # fromException :: SomeException -> Maybe OutOfBound Source # displayException :: OutOfBound -> String Source #

data OutOfBoundOperation Source #

The type of operation that triggers an OutOfBound exception.

- OOB_Index: reading an immutable vector
- OOB_Read: reading a mutable vector
- OOB_Write: write a mutable vector
- OOB_MemCopy: copying a vector
- OOB_MemSet: initializing a mutable vector

Constructors

OOB_Read |
OOB_Write |
OOB_MemSet |
OOB_MemCopy |
OOB_Index |

Instances

Eq OutOfBoundOperation Source # |
Instance details Defined in Basement.Exception Methods (==) :: OutOfBoundOperation -> OutOfBoundOperation -> Bool Source # (/=) :: OutOfBoundOperation -> OutOfBoundOperation -> Bool Source #
Show OutOfBoundOperation Source # |
Instance details Defined in Basement.Exception Methods showsPrec :: Int -> OutOfBoundOperation -> ShowS Source # show :: OutOfBoundOperation -> String Source # showList :: [OutOfBoundOperation] -> ShowS Source #

isOutOfBound :: Offset ty -> CountOf ty -> Bool Source #

outOfBound :: OutOfBoundOperation -> Offset ty -> CountOf ty -> a Source #

primOutOfBound :: PrimMonad prim => OutOfBoundOperation -> Offset ty -> CountOf ty -> prim a Source #

data InvalidRecast Source #

Constructors

InvalidRecast RecastSourceSize RecastDestinationSize |

Instances

Show InvalidRecast Source # |
Instance details Defined in Basement.Exception Methods showsPrec :: Int -> InvalidRecast -> ShowS Source # show :: InvalidRecast -> String Source # showList :: [InvalidRecast] -> ShowS Source #
Exception InvalidRecast Source # |
Instance details Defined in Basement.Exception Methods toException :: InvalidRecast -> SomeException Source # fromException :: SomeException -> Maybe InvalidRecast Source # displayException :: InvalidRecast -> String Source #

newtype RecastSourceSize Source #

Constructors

RecastSourceSize Int |

Instances

Eq RecastSourceSize Source # |
Instance details Defined in Basement.Exception Methods (==) :: RecastSourceSize -> RecastSourceSize -> Bool Source # (/=) :: RecastSourceSize -> RecastSourceSize -> Bool Source #
Show RecastSourceSize Source # |
Instance details Defined in Basement.Exception Methods showsPrec :: Int -> RecastSourceSize -> ShowS Source # show :: RecastSourceSize -> String Source # showList :: [RecastSourceSize] -> ShowS Source #

newtype RecastDestinationSize Source #

Constructors

RecastDestinationSize Int |

Instances

Eq RecastDestinationSize Source # |
Instance details Defined in Basement.Exception Methods (==) :: RecastDestinationSize -> RecastDestinationSize -> Bool Source # (/=) :: RecastDestinationSize -> RecastDestinationSize -> Bool Source #
Show RecastDestinationSize Source # |
Instance details Defined in Basement.Exception Methods showsPrec :: Int -> RecastDestinationSize -> ShowS Source # show :: RecastDestinationSize -> String Source # showList :: [RecastDestinationSize] -> ShowS Source #

data NonEmptyCollectionIsEmpty Source #

Exception for using NonEmpty assertion with an empty collection

Constructors

NonEmptyCollectionIsEmpty |

Instances

Show NonEmptyCollectionIsEmpty Source # |
Instance details Defined in Basement.Exception Methods showsPrec :: Int -> NonEmptyCollectionIsEmpty -> ShowS Source # show :: NonEmptyCollectionIsEmpty -> String Source # showList :: [NonEmptyCollectionIsEmpty] -> ShowS Source #
Exception NonEmptyCollectionIsEmpty Source # |
Instance details Defined in Basement.Exception Methods toException :: NonEmptyCollectionIsEmpty -> SomeException Source # fromException :: SomeException -> Maybe NonEmptyCollectionIsEmpty Source # displayException :: NonEmptyCollectionIsEmpty -> String Source #