{-# OPTIONS_GHC -fglasgow-exts -Wall -fno-warn-missing-signatures #-}

module Data.GMap.EnumMap
(-- * EnumMap type
 EnumMap
) where

import Data.GMap()

import Data.GMap.IntMap
import Data.GMap.InjectKeys

--------------------------------------------------------------------------------------------
--                     Map Type for 'Enum'erable keys                   --
--------------------------------------------------------------------------------------------

data InjectEnum k

instance Enum k => Injection (InjectEnum k) k Int where
	inject _ = fromEnum
	outject _ = toEnum

type EnumMap k = InjectKeys (InjectEnum k) k Int IntMap