-- GENERATED by C->Haskell Compiler, version 0.18.2 The shapeless maps, 31 Oct 2014 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "./Graphics/Wayland/Internal/Version.chs" #-}
module Graphics.Wayland.Internal.Version (version) where



data VersionInt = MicroInt
                | MajorInt
                | MinorInt
  deriving (Eq,Ord)
instance Enum VersionInt where
  succ MicroInt = MajorInt
  succ MajorInt = MinorInt
  succ MinorInt = error "VersionInt.succ: MinorInt has no successor"

  pred MajorInt = MicroInt
  pred MinorInt = MajorInt
  pred MicroInt = error "VersionInt.pred: MicroInt has no predecessor"

  enumFromTo from to = go from
    where
      end = fromEnum to
      go v = case compare (fromEnum v) end of
                 LT -> v : go (succ v)
                 EQ -> [v]
                 GT -> []

  enumFrom from = enumFromTo from MinorInt

  fromEnum MicroInt = 0
  fromEnum MajorInt = 1
  fromEnum MinorInt = 4

  toEnum 0 = MicroInt
  toEnum 1 = MajorInt
  toEnum 4 = MinorInt
  toEnum unmatched = error ("VersionInt.toEnum: Cannot match " ++ show unmatched)

{-# LINE 5 "./Graphics/Wayland/Internal/Version.chs" #-}


version = (fromEnum MajorInt, fromEnum MinorInt, fromEnum MicroInt)