Copyright | (c) 2019 Andrew Lelechenko |
---|---|
License | BSD3 |
Maintainer | Andrew Lelechenko <[email protected]> |
Safe Haskell | None |
Language | Haskell2010 |
Data.Vector.Rotcev
Description
Documentation
data Rotcev (v :: Type -> Type) a Source #
Wrapper for immutable vectors, equipped with a Vector
instance.
>>>
Forward (Data.Vector.fromList [0..100]) Data.Vector.Generic.! 10
10>>>
Backward (Data.Vector.fromList [0..100]) Data.Vector.Generic.! 10
90
Constructors
Forward !(v a) | Behaves as an original vector in respect to |
Backward !(v a) | Behaves as a reversed vector in respect to |
Instances
Vector v a => Vector (Rotcev v) a Source # | |
Defined in Data.Vector.Rotcev Methods basicUnsafeFreeze :: Mutable (Rotcev v) s a -> ST s (Rotcev v a) basicUnsafeThaw :: Rotcev v a -> ST s (Mutable (Rotcev v) s a) basicLength :: Rotcev v a -> Int basicUnsafeSlice :: Int -> Int -> Rotcev v a -> Rotcev v a basicUnsafeIndexM :: Rotcev v a -> Int -> Box a basicUnsafeCopy :: Mutable (Rotcev v) s a -> Rotcev v a -> ST s () | |
Show (v a) => Show (Rotcev v a) Source # | |
Eq (v a) => Eq (Rotcev v a) Source # | |
Ord (v a) => Ord (Rotcev v a) Source # | |
type Mutable (Rotcev v) Source # | |
Defined in Data.Vector.Rotcev |
reverse :: forall (v :: Type -> Type) a. Rotcev v a -> Rotcev v a Source #
Reverse an immutable vector in O(1) time and space.
>>>
vec = Data.Vector.Generic.fromList [0..100] :: Rotcev Data.Vector.Vector Int
>>>
reverse vec Data.Vector.Generic.! 10
90
data MRotcev (v :: Type -> Type) s a Source #
Wrapper for mutable vectors, equipped with a MVector
instance.
Constructors
MForward !(Mutable v s a) | Behaves as an original vector in respect to |
MBackward !(Mutable v s a) | Behaves as a reversed vector in respect to |
Instances
MVector (Mutable v) a => MVector (MRotcev v) a Source # | |
Defined in Data.Vector.Rotcev Methods basicLength :: MRotcev v s a -> Int basicUnsafeSlice :: Int -> Int -> MRotcev v s a -> MRotcev v s a basicOverlaps :: MRotcev v s a -> MRotcev v s a -> Bool basicUnsafeNew :: Int -> ST s (MRotcev v s a) basicInitialize :: MRotcev v s a -> ST s () basicUnsafeReplicate :: Int -> a -> ST s (MRotcev v s a) basicUnsafeRead :: MRotcev v s a -> Int -> ST s a basicUnsafeWrite :: MRotcev v s a -> Int -> a -> ST s () basicClear :: MRotcev v s a -> ST s () basicSet :: MRotcev v s a -> a -> ST s () basicUnsafeCopy :: MRotcev v s a -> MRotcev v s a -> ST s () basicUnsafeMove :: MRotcev v s a -> MRotcev v s a -> ST s () basicUnsafeGrow :: MRotcev v s a -> Int -> ST s (MRotcev v s a) |