vessel-0.2.0.0: Functor-parametric containers

Safe HaskellNone
LanguageHaskell2010

Data.Vessel.Selectable

Documentation

class Selectable v k where Source #

Associated Types

type Selection v k Source #

A more convenient type to use for extracting results.

Methods

selector :: (forall a. p a) -> k -> v p Source #

Build a query given a suitable value for specifying what we're asking for. p will typically be Proxy or Const SelectedCount.

selection :: k -> v Identity -> Selection v k Source #

From a view, extract a more convenient type of value to use.

Instances
Selectable (SingleV a) () Source # 
Instance details

Defined in Data.Vessel.Single

Associated Types

type Selection (SingleV a) () :: Type Source #

Methods

selector :: (forall a0. p a0) -> () -> SingleV a p Source #

selection :: () -> SingleV a Identity -> Selection (SingleV a) () Source #

Selectable (IdentityV a) () Source # 
Instance details

Defined in Data.Vessel.Identity

Associated Types

type Selection (IdentityV a) () :: Type Source #

Methods

selector :: (forall a0. p a0) -> () -> IdentityV a p Source #

selection :: () -> IdentityV a Identity -> Selection (IdentityV a) () Source #

GCompare k => Selectable (DMapV k v) (Set (Some k)) Source # 
Instance details

Defined in Data.Vessel.DependentMap

Associated Types

type Selection (DMapV k v) (Set (Some k)) :: Type Source #

Methods

selector :: (forall a. p a) -> Set (Some k) -> DMapV k v p Source #

selection :: Set (Some k) -> DMapV k v Identity -> Selection (DMapV k v) (Set (Some k)) Source #

Ord k => Selectable (MapV k v) (Identity k) Source # 
Instance details

Defined in Data.Vessel.Map

Associated Types

type Selection (MapV k v) (Identity k) :: Type Source #

Methods

selector :: (forall a. p a) -> Identity k -> MapV k v p Source #

selection :: Identity k -> MapV k v Identity -> Selection (MapV k v) (Identity k) Source #

Ord k => Selectable (MapV k v) (Set k) Source # 
Instance details

Defined in Data.Vessel.Map

Associated Types

type Selection (MapV k v) (Set k) :: Type Source #

Methods

selector :: (forall a. p a) -> Set k -> MapV k v p Source #

selection :: Set k -> MapV k v Identity -> Selection (MapV k v) (Set k) Source #