container-1.0.1: Containers abstraction and utilities.

Safe HaskellNone
LanguageHaskell2010

Data.Container.Reusable

Documentation

data Reusable idx a Source

Constructors

Reusable [idx] !a 

Instances

(IndexableQM (GetOpts ms) (GetOpts ps) m idx el a, (~) * idx idx') => IndexableQM_ ms ps m idx el (Reusable idx' a) Source 
(TracksIxesQM (GetOpts ms) (GetOpts ps) m idx a, (~) * idx idx') => TracksIxesQM_ ms ps m idx (Reusable idx' a) Source 
(FreeableQM (GetOpts ms) (GetOpts ps) m idx a, (~) * idx idx') => FreeableQM_ ms ps m idx (Reusable idx' a) Source 
(InsertableQM (GetOpts ms) (GetOpts ps) m idx el a, ExpandableM m (Reusable idx a), (~) * (Result_ InsertableOp (IdxElInfo idx el (Container a)) (GetOpts ms)) (Result_ AddableOp (ElInfo el (Reusable idx a)) (GetOpts ms))) => AddableQM_ ms ps m el (Reusable idx a) Source 
PrependableQM (GetOpts ms) (GetOpts ps) m el a => PrependableQM_ ms ps m el (Reusable idx a) Source 
AppendableQM (GetOpts ms) (GetOpts ps) m el a => AppendableQM_ ms ps m el (Reusable idx a) Source 
(SingletonQM ((:) * Ixed (GetOpts ms)) (GetOpts ps) m el a, (~) * idx (Index (Container a))) => SingletonQM_ ms ps m el (Reusable idx a) Source 
(MaxBoundedQM (GetOpts ms) (GetOpts ps) m idx a, (~) * idx idx') => MaxBoundedQM_ ms ps m idx (Reusable idx' a) Source 
(MinBoundedQM (GetOpts ms) (GetOpts ps) m idx a, (~) * idx idx') => MinBoundedQM_ ms ps m idx (Reusable idx' a) Source 
(GrowableQM ((:) * Ixed (GetOpts ms)) (GetOpts ps) m a, (~) * idx (Index (Container a))) => GrowableQM_ ms ps m (Reusable idx a) Source 
(ExpandableQM ((:) * Ixed (GetOpts ms)) (GetOpts ps) m a, (~) * idx (Index (Container a))) => ExpandableQM_ ms ps m (Reusable idx a) Source 
(AllocableQM ((:) * Ixed (GetOpts ms)) (GetOpts ps) m a, (~) * idx (Index (Container a))) => AllocableQM_ ms ps m (Reusable idx a) Source 
MeasurableQM (GetOpts ms) (GetOpts ps) m a => MeasurableQM_ ms ps m (Reusable idx a) Source 
Monad m => LayeredM m (Reusable idx a) Source 
Monad m => IsContainerM m (Reusable idx a) Source 
Monad m => HasContainerM m (Reusable idx a) Source 
(InsertableQM (GetOpts ms) (GetOpts ps) m idx el a, (~) * idx idx') => InsertableQM_ ms ((:) (Opt *) (P * Unchecked) ((:) (Opt *) (P * Inplace) ps)) m idx el (Reusable idx' a) Source 
Functor (Reusable idx) Source 
Foldable (Reusable idx) Source 
Traversable (Reusable idx) Source 
(TracksUsedIxes idx (Reusable idx a), Indexable idx el (Reusable idx a), Monad m) => TracksElemsQM_ ([] (Opt *)) ps m el (Reusable idx a) Source 
(TracksIxes idx (Reusable idx a), TracksFreeIxes idx (Reusable idx a), (~) * idx idx', Monad m, Eq idx) => TracksUsedIxesQM_ ([] (Opt *)) ps m idx (Reusable idx' a) Source 
(Monad m, (~) * idx idx') => TracksFreeIxesQM_ ([] (Opt *)) ps m idx (Reusable idx' a) Source 
(Show (Item a), TracksElems (Item a) (Reusable idx a)) => Show (Reusable idx a) Source 
Monoid a => Monoid (Reusable idx a) Source 
Default a => Default (Reusable idx a) Source 
Layered (Reusable idx a) Source 
(ToList (Container a), HasContainer a) => ToList (Reusable idx a) Source 
(IsContainer a, FromList (Container a)) => FromList (Reusable idx a) Source 
(Monad m, (~) * idx (Index (Container a))) => ReservableQM_ ((:) (Opt *) (P * Ixed) ([] (Opt *))) ps m (Reusable idx a) Source 
type ModsOf TracksElemsOp (Reusable idx a) = [] * Source 
type ModsOf TracksIxesOp (Reusable idx a) = ModsOf TracksIxesOp (Container a) Source 
type ModsOf TracksUsedIxesOp (Reusable idx a) = [] * Source 
type ModsOf TracksFreeIxesOp (Reusable idx a) = [] * Source 
type ModsOf IndexableOp (Reusable idx a) = ModsOf IndexableOp (Container a) Source 
type ModsOf ReservableOp (Reusable idx a) = (:) * Ixed ([] *) Source 
type ModsOf FreeableOp (Reusable idx a) = ModsOf FreeableOp (Container a) Source 
type ModsOf InsertableOp (Reusable idx a) = ModsOf InsertableOp (Container a) Source 
type ModsOf AddableOp (Reusable idx a) = ModsOf AddableOp (Container a) Source 
type ModsOf PrependableOp (Reusable idx a) = ModsOf PrependableOp (Container a) Source 
type ModsOf AppendableOp (Reusable idx a) = ModsOf AppendableOp (Container a) Source 
type ModsOf GrowableOp (Reusable idx a) = ModsOf GrowableOp (Container a) Source 
type ModsOf ExpandableOp (Reusable idx a) = ModsOf ExpandableOp (Container a) Source 
type ModsOf AllocableOp (Reusable idx a) = ModsOf AllocableOp (Container a) Source 
type ModsOf SingletonOp (Reusable idx a) = ModsOf SingletonOp (Container a) Source 
type ModsOf MaxBoundedOp (Reusable idx a) = ModsOf MaxBoundedOp (Container a) Source 
type ModsOf MinBoundedOp (Reusable idx a) = ModsOf MinBoundedOp (Container a) Source 
type ModsOf MeasurableOp (Reusable idx a) = ModsOf MeasurableOp (Container a) Source 
type ParamsOf TracksElemsOp (Reusable idx a) = [] * Source 
type ParamsOf TracksIxesOp (Reusable idx a) = ParamsOf TracksIxesOp (Container a) Source 
type ParamsOf TracksUsedIxesOp (Reusable idx a) = [] * Source 
type ParamsOf TracksFreeIxesOp (Reusable idx a) = [] * Source 
type ParamsOf IndexableOp (Reusable idx a) = ParamsOf IndexableOp (Container a) Source 
type ParamsOf ReservableOp (Reusable idx a) = [] * Source 
type ParamsOf FreeableOp (Reusable idx a) = ParamsOf FreeableOp (Container a) Source 
type ParamsOf InsertableOp (Reusable idx a) = (:) * Unchecked ((:) * Inplace (ParamsOf InsertableOp (Container a))) Source 
type ParamsOf AddableOp (Reusable idx a) = ParamsOf AddableOp (Container a) Source 
type ParamsOf PrependableOp (Reusable idx a) = ParamsOf PrependableOp (Container a) Source 
type ParamsOf AppendableOp (Reusable idx a) = ParamsOf AppendableOp (Container a) Source 
type ParamsOf GrowableOp (Reusable idx a) = ParamsOf GrowableOp (Container a) Source 
type ParamsOf ExpandableOp (Reusable idx a) = ParamsOf ExpandableOp (Container a) Source 
type ParamsOf AllocableOp (Reusable idx a) = ParamsOf AllocableOp (Container a) Source 
type ParamsOf SingletonOp (Reusable idx a) = ParamsOf SingletonOp (Container a) Source 
type ParamsOf MaxBoundedOp (Reusable idx a) = ParamsOf MaxBoundedOp (Container a) Source 
type ParamsOf MinBoundedOp (Reusable idx a) = ParamsOf MinBoundedOp (Container a) Source 
type ParamsOf MeasurableOp (Reusable idx a) = ParamsOf MeasurableOp (Container a) Source 
type Unlayered (Reusable idx a) = a Source 
type Index (Reusable idx a) = Index (Container a) Source 
type DataStore (Reusable idx a) = Container a Source 
type Item (Reusable idx a) = Item (Container a) Source 
type Container (Reusable idx a) = Reusable idx a Source 

_indexes :: Lens' (Reusable idx a) [idx] Source