haskey-btree-0.2.0.0: B+-tree implementation in Haskell.

Safe HaskellNone
LanguageHaskell2010

Data.BTree.Alloc.Debug

Description

An in memory allocator for debugging and testing purposes.

Documentation

data SomeNode Source #

Constructors

SomeNode (Height h) (Node h k v) 

data SomeVal Source #

Constructors

SomeVal v 

data Pages Source #

Instances

Monad m => MonadState Pages (DebugT m) Source # 

Methods

get :: DebugT m Pages #

put :: Pages -> DebugT m () #

state :: (Pages -> (a, Pages)) -> DebugT m a #

newtype DebugT m a Source #

Constructors

DebugT 

Fields

Instances

Monad m => MonadState Pages (DebugT m) Source # 

Methods

get :: DebugT m Pages #

put :: Pages -> DebugT m () #

state :: (Pages -> (a, Pages)) -> DebugT m a #

Monad m => Monad (DebugT m) Source # 

Methods

(>>=) :: DebugT m a -> (a -> DebugT m b) -> DebugT m b #

(>>) :: DebugT m a -> DebugT m b -> DebugT m b #

return :: a -> DebugT m a #

fail :: String -> DebugT m a #

Functor m => Functor (DebugT m) Source # 

Methods

fmap :: (a -> b) -> DebugT m a -> DebugT m b #

(<$) :: a -> DebugT m b -> DebugT m a #

Monad m => Applicative (DebugT m) Source # 

Methods

pure :: a -> DebugT m a #

(<*>) :: DebugT m (a -> b) -> DebugT m a -> DebugT m b #

(*>) :: DebugT m a -> DebugT m b -> DebugT m b #

(<*) :: DebugT m a -> DebugT m b -> DebugT m a #

MonadIO m => MonadIO (DebugT m) Source # 

Methods

liftIO :: IO a -> DebugT m a #

(Functor m, Monad m) => AllocM (DebugT m) Source # 

Methods

nodePageSize :: (Key key, Value val) => DebugT m (Height height -> Node height key val -> PageSize) Source #

maxPageSize :: DebugT m PageSize Source #

maxKeySize :: DebugT m Word64 Source #

maxValueSize :: DebugT m Word64 Source #

allocNode :: (Key key, Value val) => Height height -> Node height key val -> DebugT m (NodeId height key val) Source #

freeNode :: Height height -> NodeId height key val -> DebugT m () Source #

allocOverflow :: Value val => val -> DebugT m OverflowId Source #

freeOverflow :: OverflowId -> DebugT m () Source #

(Functor m, Monad m) => AllocReaderM (DebugT m) Source # 

Methods

readNode :: (Key key, Value val) => Height height -> NodeId height key val -> DebugT m (Node height key val) Source #

readOverflow :: Value val => OverflowId -> DebugT m val Source #