Copyright | (c) 2019 Andrew Lelechenko |
---|---|
License | BSD3 |
Maintainer | Andrew Lelechenko <andrew.lelechenko@gmail.com> |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Data.Vector.Rotcev
Description
Documentation
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 :: 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
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) # |