Data.GMap.InjectKeys
Contents
- data InjectKeys t k1 k2 map a
- class Injection t k1 k2 | t -> k1, t -> k2 where
InjectKeys type
data InjectKeys t k1 k2 map a Source
Instances
| Map map k2 => Functor (InjectKeys t k1 k2 map) | |
| Typeable1 map => Typeable1 (InjectKeys t k1 k2 map) | |
| Map map k2 => Foldable (InjectKeys t k1 k2 map) | |
| (Eq k1, Injection t k1 k2, OrderedMap map k2) => OrderedMap (InjectKeys t k1 k2 map) k1 | |
| (Eq k1, Injection t k1 k2, Map map k2) => Map (InjectKeys t k1 k2 map) k1 | InjectKeys is an instance of Map. |
| Eq (map a) => Eq (InjectKeys t k1 k2 map a) | |
| Ord (map a) => Ord (InjectKeys t k1 k2 map a) | |
| (Typeable1 (InjectKeys t k1 k2 map), Typeable a) => Typeable (InjectKeys t k1 k2 map a) | |
| (Map map k2, Monoid a) => Monoid (InjectKeys t k1 k2 map a) |
class Injection t k1 k2 | t -> k1, t -> k2 whereSource
t is a phantom type which determines the encoding and decoding functions used.
t is passed as an undefined value.
inject must be injective (ie (inject a) == (inject b) implies a == b) and reversible by outject
Instances
| Enum k => Injection (InjectEnum k) k Int | |
| Injection (InjectMaybe k) (Maybe k) (Choice2 k ()) | |
| Injection (InjectEither l r) (Either l r) (Choice2 l r) | |
| Injection (InjectChoice3 a b c) (Choice3 a b c) (Choice2 a (Choice2 b c)) | |
| Injection (InjectTuple3 a b c) (a, b, c) (a, (b, c)) | |
| Injection (InjectChoice4 a b c d) (Choice4 a b c d) (Choice2 (Choice2 a b) (Choice2 c d)) | |
| Injection (InjectTuple4 a b c d) (a, b, c, d) (a, (b, (c, d))) | |
| Injection (InjectChoice5 a b c d e) (Choice5 a b c d e) (Choice2 (Choice2 a b) (Choice2 c (Choice2 d e))) | |
| Injection (InjectTuple5 a b c d e) (a, b, c, d, e) (a, (b, (c, (d, e)))) |