hybrid-vectors-0.2.3: Hybrid vectors e.g. Mixed Boxed/Unboxed vectors
Safe HaskellNone
LanguageHaskell2010

Data.Vector.Hybrid.Internal

Documentation

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

Constructors

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

Instances

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

Defined in Data.Vector.Hybrid.Internal

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 :: Int -> ST s (MVector u v s (a, b)) #

basicInitialize :: MVector u v s (a, b) -> ST s () #

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

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

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

basicClear :: MVector u v s (a, b) -> ST s () #

basicSet :: MVector u v s (a, b) -> (a, b) -> ST s () #

basicUnsafeCopy :: MVector u v s (a, b) -> MVector u v s (a, b) -> ST s () #

basicUnsafeMove :: MVector u v s (a, b) -> MVector u v s (a, b) -> ST s () #

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

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

Constructors

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

Instances

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

Defined in Data.Vector.Hybrid.Internal

Methods

basicUnsafeFreeze :: Mutable (Vector u v) s (a, b) -> ST s (Vector u v (a, b)) #

basicUnsafeThaw :: Vector u v (a, b) -> ST s (Mutable (Vector u v) s (a, b)) #

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

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

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

basicUnsafeCopy :: Mutable (Vector u v) s (a, b) -> Vector u v (a, b) -> ST s () #

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

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

Defined in Data.Vector.Hybrid.Internal

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

Defined in Data.Vector.Hybrid.Internal

Methods

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

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

toConstr :: Vector u v c -> Constr #

dataTypeOf :: Vector u v c -> DataType #

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

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (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 :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Vector u v c -> r #

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

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

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

Defined in Data.Vector.Hybrid.Internal

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

Defined in Data.Vector.Hybrid.Internal

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

Defined in Data.Vector.Hybrid.Internal

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

Defined in Data.Vector.Hybrid.Internal

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

Defined in Data.Vector.Hybrid.Internal

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

Defined in Data.Vector.Hybrid.Internal

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