| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
RewindableIndex.Index.VSplit
Synopsis
- data SplitIndex m h v e n q r = SplitIndex {
- _handle :: h
- _storage :: Storage v m e
- _notifications :: [n]
- _store :: SplitIndex m h v e n q r -> m ()
- _query :: SplitIndex m h v e n q r -> q -> [e] -> m r
- _onInsert :: SplitIndex m h v e n q r -> e -> m [n]
- new :: Monad m => MVector (Mutable v) e => (SplitIndex m h v e n q r -> q -> [e] -> m r) -> (SplitIndex m h v e n q r -> m ()) -> (SplitIndex m h v e n q r -> e -> m [n]) -> Int -> h -> Mutable v (PrimState m) e -> m (Maybe (SplitIndex m h v e n q r))
- newBoxed :: Monad m => PrimMonad m => (BoxedIndex m h e n q r -> q -> [e] -> m r) -> (BoxedIndex m h e n q r -> m ()) -> (BoxedIndex m h e n q r -> e -> m [n]) -> Int -> Int -> h -> m (Maybe (BoxedIndex m h e n q r))
- newUnboxed :: Monad m => PrimMonad m => MVector MVector e => (UnboxedIndex m h e n q r -> q -> [e] -> m r) -> (UnboxedIndex m h e n q r -> m ()) -> (UnboxedIndex m h e n q r -> e -> m [n]) -> Int -> Int -> h -> m (Maybe (UnboxedIndex m h e n q r))
- insert :: forall m h v e n q r. Monad m => PrimMonad m => MVector (Mutable v) e => e -> SplitIndex m h v e n q r -> m (SplitIndex m h v e n q r)
- insertL :: PrimMonad m => MVector (Mutable v) e => [e] -> SplitIndex m h v e n q r -> m (SplitIndex m h v e n q r)
- size :: SplitIndex m h v e n q r -> Int
- rewind :: MVector (Mutable v) e => Int -> SplitIndex m h v e n q r -> Maybe (SplitIndex m h v e n q r)
- handle :: forall m h v e n q r. Lens' (SplitIndex m h v e n q r) h
- storage :: forall m h v e n q r. Lens' (SplitIndex m h v e n q r) (Storage v m e)
- notifications :: forall m h v e n q r. Lens' (SplitIndex m h v e n q r) [n]
- store :: forall m h v e n q r. Lens' (SplitIndex m h v e n q r) (SplitIndex m h v e n q r -> m ())
- query :: forall m h v e n q r. Lens' (SplitIndex m h v e n q r) (SplitIndex m h v e n q r -> q -> [e] -> m r)
- onInsert :: forall m h v e n q r. Lens' (SplitIndex m h v e n q r) (SplitIndex m h v e n q r -> e -> m [n])
- data Storage v m e = Storage {}
- getBuffer :: forall v m e. MVector (Mutable v) e => PrimMonad m => Show e => Storage v m e -> m [e]
- getEvents :: forall v m e. MVector (Mutable v) e => PrimMonad m => Show e => Storage v m e -> m [e]
- k :: forall v m e. Lens' (Storage v m e) Int
Documentation
data SplitIndex m h v e n q r Source #
Constructors
| SplitIndex | |
Fields
| |
new :: Monad m => MVector (Mutable v) e => (SplitIndex m h v e n q r -> q -> [e] -> m r) -> (SplitIndex m h v e n q r -> m ()) -> (SplitIndex m h v e n q r -> e -> m [n]) -> Int -> h -> Mutable v (PrimState m) e -> m (Maybe (SplitIndex m h v e n q r)) Source #
newBoxed :: Monad m => PrimMonad m => (BoxedIndex m h e n q r -> q -> [e] -> m r) -> (BoxedIndex m h e n q r -> m ()) -> (BoxedIndex m h e n q r -> e -> m [n]) -> Int -> Int -> h -> m (Maybe (BoxedIndex m h e n q r)) Source #
newUnboxed :: Monad m => PrimMonad m => MVector MVector e => (UnboxedIndex m h e n q r -> q -> [e] -> m r) -> (UnboxedIndex m h e n q r -> m ()) -> (UnboxedIndex m h e n q r -> e -> m [n]) -> Int -> Int -> h -> m (Maybe (UnboxedIndex m h e n q r)) Source #
insert :: forall m h v e n q r. Monad m => PrimMonad m => MVector (Mutable v) e => e -> SplitIndex m h v e n q r -> m (SplitIndex m h v e n q r) Source #
insertL :: PrimMonad m => MVector (Mutable v) e => [e] -> SplitIndex m h v e n q r -> m (SplitIndex m h v e n q r) Source #
size :: SplitIndex m h v e n q r -> Int Source #
rewind :: MVector (Mutable v) e => Int -> SplitIndex m h v e n q r -> Maybe (SplitIndex m h v e n q r) Source #
Accessors
handle :: forall m h v e n q r. Lens' (SplitIndex m h v e n q r) h Source #
notifications :: forall m h v e n q r. Lens' (SplitIndex m h v e n q r) [n] Source #
store :: forall m h v e n q r. Lens' (SplitIndex m h v e n q r) (SplitIndex m h v e n q r -> m ()) Source #
query :: forall m h v e n q r. Lens' (SplitIndex m h v e n q r) (SplitIndex m h v e n q r -> q -> [e] -> m r) Source #
onInsert :: forall m h v e n q r. Lens' (SplitIndex m h v e n q r) (SplitIndex m h v e n q r -> e -> m [n]) Source #
Storage
getBuffer :: forall v m e. MVector (Mutable v) e => PrimMonad m => Show e => Storage v m e -> m [e] Source #