hybrid-vectors-0.2.2: Hybrid vectors e.g. Mixed Boxed/Unboxed vectors

Safe HaskellNone
LanguageHaskell98

Data.Vector.Hybrid.Internal

Documentation

data MVector :: (* -> * -> *) -> (* -> * -> *) -> * -> * -> * where Source #

Constructors

MV :: !(u s a) -> !(v s b) -> MVector u v s (a, b) 

Instances

(MVector u a, MVector v b) => MVector (MVector u v) (a, b) Source # 

Methods

basicLength :: MVector u v s (a, b) -> Int #

basicUnsafeSlice :: Int -> Int -> MVector u v s (a, b) -> MVector u v s (a, b) #

basicOverlaps :: MVector u v s (a, b) -> MVector u v s (a, b) -> Bool #

basicUnsafeNew :: PrimMonad m => Int -> m (MVector u v (PrimState m) (a, b)) #

basicInitialize :: PrimMonad m => MVector u v (PrimState m) (a, b) -> m () #

basicUnsafeReplicate :: PrimMonad m => Int -> (a, b) -> m (MVector u v (PrimState m) (a, b)) #

basicUnsafeRead :: PrimMonad m => MVector u v (PrimState m) (a, b) -> Int -> m (a, b) #

basicUnsafeWrite :: PrimMonad m => MVector u v (PrimState m) (a, b) -> Int -> (a, b) -> m () #

basicClear :: PrimMonad m => MVector u v (PrimState m) (a, b) -> m () #

basicSet :: PrimMonad m => MVector u v (PrimState m) (a, b) -> (a, b) -> m () #

basicUnsafeCopy :: PrimMonad m => MVector u v (PrimState m) (a, b) -> MVector u v (PrimState m) (a, b) -> m () #

basicUnsafeMove :: PrimMonad m => MVector u v (PrimState m) (a, b) -> MVector u v (PrimState m) (a, b) -> m () #

basicUnsafeGrow :: PrimMonad m => MVector u v (PrimState m) (a, b) -> Int -> m (MVector u v (PrimState m) (a, b)) #

data Vector :: (* -> *) -> (* -> *) -> * -> * where Source #

Constructors

V :: !(u a) -> !(v b) -> Vector u v (a, b) 

Instances

(Vector u a, Vector v b) => Vector (Vector u v) (a, b) Source # 

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable (Vector u v) (PrimState m) (a, b) -> m (Vector u v (a, b)) #

basicUnsafeThaw :: PrimMonad m => Vector u v (a, b) -> m (Mutable (Vector u v) (PrimState m) (a, b)) #

basicLength :: Vector u v (a, b) -> Int #

basicUnsafeSlice :: Int -> Int -> Vector u v (a, b) -> Vector u v (a, b) #

basicUnsafeIndexM :: Monad m => Vector u v (a, b) -> Int -> m (a, b) #

basicUnsafeCopy :: PrimMonad m => Mutable (Vector u v) (PrimState m) (a, b) -> Vector u v (a, b) -> m () #

elemseq :: Vector u v (a, b) -> (a, b) -> b -> b #

(Vector u a, Vector v b, Eq a, Eq b, (~) * c (a, b)) => Eq (Vector u v c) Source # 

Methods

(==) :: Vector u v c -> Vector u v c -> Bool #

(/=) :: Vector u v c -> Vector u v c -> Bool #

(Data a, Data b, Typeable (* -> *) u, Typeable (* -> *) v, Vector u a, Vector v b, (~) * c (a, b)) => Data (Vector u v c) Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Vector u v c -> c (Vector u v c) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Vector u v c) #

toConstr :: Vector u v c -> Constr #

dataTypeOf :: Vector u v c -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (Vector u v c)) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Vector u v c)) #

gmapT :: (forall b. Data b => b -> b) -> Vector u v c -> Vector u v c #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Vector u v c -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Vector u v c -> r #

gmapQ :: (forall d. Data d => d -> u) -> Vector u v c -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Vector u v c -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Vector u v c -> m (Vector u v c) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Vector u v c -> m (Vector u v c) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Vector u v c -> m (Vector u v c) #

(Vector u a, Vector v b, Ord a, Ord b, (~) * c (a, b)) => Ord (Vector u v c) Source # 

Methods

compare :: Vector u v c -> Vector u v c -> Ordering #

(<) :: Vector u v c -> Vector u v c -> Bool #

(<=) :: Vector u v c -> Vector u v c -> Bool #

(>) :: Vector u v c -> Vector u v c -> Bool #

(>=) :: Vector u v c -> Vector u v c -> Bool #

max :: Vector u v c -> Vector u v c -> Vector u v c #

min :: Vector u v c -> Vector u v c -> Vector u v c #

(Vector u a, Vector v b, Read a, Read b, (~) * c (a, b)) => Read (Vector u v c) Source # 

Methods

readsPrec :: Int -> ReadS (Vector u v c) #

readList :: ReadS [Vector u v c] #

readPrec :: ReadPrec (Vector u v c) #

readListPrec :: ReadPrec [Vector u v c] #

(Vector u a, Vector v b, Show a, Show b, (~) * c (a, b)) => Show (Vector u v c) Source # 

Methods

showsPrec :: Int -> Vector u v c -> ShowS #

show :: Vector u v c -> String #

showList :: [Vector u v c] -> ShowS #

(Vector u a, Vector v b, (~) * c (a, b)) => Semigroup (Vector u v c) Source # 

Methods

(<>) :: Vector u v c -> Vector u v c -> Vector u v c #

sconcat :: NonEmpty (Vector u v c) -> Vector u v c #

stimes :: Integral b => b -> Vector u v c -> Vector u v c #

(Vector u a, Vector v b, (~) * c (a, b)) => Monoid (Vector u v c) Source # 

Methods

mempty :: Vector u v c #

mappend :: Vector u v c -> Vector u v c -> Vector u v c #

mconcat :: [Vector u v c] -> Vector u v c #

type Mutable (Vector u v) Source # 
type Mutable (Vector u v) = MVector (Mutable u) (Mutable v)