container-1.0.1: Containers abstraction and utilities.

Safe HaskellNone
LanguageHaskell2010

Data.Container.Weak

Documentation

data Weak f a Source

Constructors

Weak !(Maybe f) !a 

Instances

(FreeableQM (GetOpts ms) (GetOpts ps) m idx a, (~) * idx idx') => FreeableQM_ ms ps m idx (Weak (IdxFinalizer idx) a) Source 
(AddableQM ((:) * Ixed (GetOpts ms)) (GetOpts ps) m (Weak el) a, (~) * (Result_ AddableOp (ElInfo (Weak el) (Container a)) (GetOpts ms)) (Result_ AddableOp (ElInfo el (Weak (IdxFinalizer idx) a)) (GetOpts ms)), (~) * idx (Index (Container a)), MonadIO m, MonadFix m) => AddableQM_ ms ps m el (Weak (IdxFinalizer idx) a) Source 
(PrependableQM ((:) * Ixed (GetOpts ms)) (GetOpts ps) m (Weak el) a, (~) * (Result_ PrependableOp (ElInfo (Weak el) (Container a)) (GetOpts ms)) (Result_ PrependableOp (ElInfo el (Weak (IdxFinalizer idx) a)) (GetOpts ms)), (~) * idx (Index (Container a)), MonadIO m, MonadFix m) => PrependableQM_ ms ps m el (Weak (IdxFinalizer idx) a) Source 
(AppendableQM ((:) * Ixed (GetOpts ms)) (GetOpts ps) m (Weak el) a, (~) * (Result_ AppendableOp (ElInfo (Weak el) (Container a)) (GetOpts ms)) (Result_ AppendableOp (ElInfo el (Weak (IdxFinalizer idx) a)) (GetOpts ms)), (~) * idx (Index (Container a)), MonadIO m, MonadFix m) => AppendableQM_ ms ps m el (Weak (IdxFinalizer idx) a) Source 
(MonadIO m, SingletonQM (GetOpts ms) (GetOpts ps) m (Weak el) a, (~) * (Result_ SingletonOp (ElInfo (Weak el) (Container a)) (GetOpts ms)) (Result_ SingletonOp (ElInfo el (Weak f a)) (GetOpts ms))) => SingletonQM_ ms ps m el (Weak f a) Source 
MaxBoundedQM (GetOpts ms) (GetOpts ps) m idx a => MaxBoundedQM_ ms ps m idx (Weak f a) Source 
MinBoundedQM (GetOpts ms) (GetOpts ps) m idx a => MinBoundedQM_ ms ps m idx (Weak f a) Source 
GrowableQM (GetOpts ms) (GetOpts ps) m a => GrowableQM_ ms ps m (Weak f a) Source 
ExpandableQM (GetOpts ms) (GetOpts ps) m a => ExpandableQM_ ms ps m (Weak f a) Source 
AllocableQM (GetOpts ms) (GetOpts ps) m a => AllocableQM_ ms ps m (Weak f a) Source 
MeasurableQM (GetOpts ms) (GetOpts ps) m a => MeasurableQM_ ms ps m (Weak f a) Source 
Monad m => IsContainerM m (Weak f a) Source 
Monad m => HasContainerM m (Weak f a) Source 
Functor (Weak f) Source 
Foldable (Weak f) Source 
Traversable (Weak f) Source 
(Monoid f, Monoid a) => Monoid (Weak f a) Source 
Default a => Default (Weak f a) Source 
Layered (Weak f a) Source 
(WeakItemAxiom a, IsContainer a, FromList (Container a)) => FromList (Weak f a) Source 
HasFinalizer (Weak f a) Source 
Monad m => HasFinalizerM (Weak f a) m f Source 
type ModsOf FreeableOp (Weak f a) = ModsOf FreeableOp (Container a) Source 
type ModsOf AddableOp (Weak f a) = ModsOf AddableOp (Container a) Source 
type ModsOf PrependableOp (Weak f a) = ModsOf PrependableOp (Container a) Source 
type ModsOf AppendableOp (Weak f a) = ModsOf AppendableOp (Container a) Source 
type ModsOf GrowableOp (Weak f a) = ModsOf GrowableOp (Container a) Source 
type ModsOf ExpandableOp (Weak f a) = ModsOf GrowableOp (Container a) Source 
type ModsOf AllocableOp (Weak f a) = ModsOf AllocableOp (Container a) Source 
type ModsOf SingletonOp (Weak f a) = ModsOf SingletonOp (Container a) Source 
type ModsOf MaxBoundedOp (Weak f a) = ModsOf MaxBoundedOp (Container a) Source 
type ModsOf MinBoundedOp (Weak f a) = ModsOf MinBoundedOp (Container a) Source 
type ModsOf MeasurableOp (Weak f a) = ModsOf MeasurableOp (Container a) Source 
type ParamsOf FreeableOp (Weak f a) = ParamsOf FreeableOp (Container a) Source 
type ParamsOf AddableOp (Weak f a) = ParamsOf AddableOp (Container a) Source 
type ParamsOf PrependableOp (Weak f a) = ParamsOf PrependableOp (Container a) Source 
type ParamsOf AppendableOp (Weak f a) = ParamsOf AppendableOp (Container a) Source 
type ParamsOf GrowableOp (Weak f a) = ParamsOf GrowableOp (Container a) Source 
type ParamsOf ExpandableOp (Weak f a) = ParamsOf GrowableOp (Container a) Source 
type ParamsOf AllocableOp (Weak f a) = ParamsOf AllocableOp (Container a) Source 
type ParamsOf SingletonOp (Weak f a) = ParamsOf SingletonOp (Container a) Source 
type ParamsOf MaxBoundedOp (Weak f a) = ParamsOf MaxBoundedOp (Container a) Source 
type ParamsOf MinBoundedOp (Weak f a) = ParamsOf MinBoundedOp (Container a) Source 
type ParamsOf MeasurableOp (Weak f a) = ParamsOf MeasurableOp (Container a) Source 
type Unlayered (Weak f a) = a Source 
type Index (Weak f a) = Index (Container a) Source 
type DataStore (Weak f a) = Container a Source 
type Item (Weak f a) = WeakData (Item (Container a)) Source 
type Container (Weak f a) = Weak f a Source 
type Finalizer (Weak f a) = Maybe f Source 

newtype IdxFinalizer idx Source

Constructors

IdxFinalizer (idx -> IO ()) 

Instances

(FreeableQM (GetOpts ms) (GetOpts ps) m idx a, (~) * idx idx') => FreeableQM_ ms ps m idx (Weak (IdxFinalizer idx) a) Source 
(AddableQM ((:) * Ixed (GetOpts ms)) (GetOpts ps) m (Weak el) a, (~) * (Result_ AddableOp (ElInfo (Weak el) (Container a)) (GetOpts ms)) (Result_ AddableOp (ElInfo el (Weak (IdxFinalizer idx) a)) (GetOpts ms)), (~) * idx (Index (Container a)), MonadIO m, MonadFix m) => AddableQM_ ms ps m el (Weak (IdxFinalizer idx) a) Source 
(PrependableQM ((:) * Ixed (GetOpts ms)) (GetOpts ps) m (Weak el) a, (~) * (Result_ PrependableOp (ElInfo (Weak el) (Container a)) (GetOpts ms)) (Result_ PrependableOp (ElInfo el (Weak (IdxFinalizer idx) a)) (GetOpts ms)), (~) * idx (Index (Container a)), MonadIO m, MonadFix m) => PrependableQM_ ms ps m el (Weak (IdxFinalizer idx) a) Source 
(AppendableQM ((:) * Ixed (GetOpts ms)) (GetOpts ps) m (Weak el) a, (~) * (Result_ AppendableOp (ElInfo (Weak el) (Container a)) (GetOpts ms)) (Result_ AppendableOp (ElInfo el (Weak (IdxFinalizer idx) a)) (GetOpts ms)), (~) * idx (Index (Container a)), MonadIO m, MonadFix m) => AppendableQM_ ms ps m el (Weak (IdxFinalizer idx) a) Source 
Monoid (IdxFinalizer idx) Source 
Wrapped (IdxFinalizer idx) Source 
Rewrapped (IdxFinalizer idx) (IdxFinalizer idx') Source 
type Unwrapped (IdxFinalizer idx) = idx -> IO () Source 

type family Finalizer a Source

Instances

type Finalizer (Weak f a) = Maybe f Source 

class HasFinalizerM a m f | a -> f where Source

Methods

viewFinalizerM :: a -> m (Maybe f) Source

setFinalizerM :: Maybe f -> a -> m a Source

type family WeakData a Source

Equations

WeakData (Weak a) = a 

mkWeakPtr :: MonadIO m => k -> Maybe (IO ()) -> m (Weak k) Source