| 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.! 1010>>>Backward (Data.Vector.fromList [0..100]) Data.Vector.Generic.! 1090
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.! 1090
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) # | |