{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.ClassMapping
  ( ClassMapping(..)
  )
where

import Rattletrap.Type.Common
import Rattletrap.Type.Str
import Rattletrap.Type.Word32le

data ClassMapping = ClassMapping
  { ClassMapping -> Str
classMappingName :: Str
  , ClassMapping -> Word32le
classMappingStreamId :: Word32le
  } deriving (ClassMapping -> ClassMapping -> Bool
(ClassMapping -> ClassMapping -> Bool)
-> (ClassMapping -> ClassMapping -> Bool) -> Eq ClassMapping
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ClassMapping -> ClassMapping -> Bool
$c/= :: ClassMapping -> ClassMapping -> Bool
== :: ClassMapping -> ClassMapping -> Bool
$c== :: ClassMapping -> ClassMapping -> Bool
Eq, Eq ClassMapping
Eq ClassMapping
-> (ClassMapping -> ClassMapping -> Ordering)
-> (ClassMapping -> ClassMapping -> Bool)
-> (ClassMapping -> ClassMapping -> Bool)
-> (ClassMapping -> ClassMapping -> Bool)
-> (ClassMapping -> ClassMapping -> Bool)
-> (ClassMapping -> ClassMapping -> ClassMapping)
-> (ClassMapping -> ClassMapping -> ClassMapping)
-> Ord ClassMapping
ClassMapping -> ClassMapping -> Bool
ClassMapping -> ClassMapping -> Ordering
ClassMapping -> ClassMapping -> ClassMapping
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ClassMapping -> ClassMapping -> ClassMapping
$cmin :: ClassMapping -> ClassMapping -> ClassMapping
max :: ClassMapping -> ClassMapping -> ClassMapping
$cmax :: ClassMapping -> ClassMapping -> ClassMapping
>= :: ClassMapping -> ClassMapping -> Bool
$c>= :: ClassMapping -> ClassMapping -> Bool
> :: ClassMapping -> ClassMapping -> Bool
$c> :: ClassMapping -> ClassMapping -> Bool
<= :: ClassMapping -> ClassMapping -> Bool
$c<= :: ClassMapping -> ClassMapping -> Bool
< :: ClassMapping -> ClassMapping -> Bool
$c< :: ClassMapping -> ClassMapping -> Bool
compare :: ClassMapping -> ClassMapping -> Ordering
$ccompare :: ClassMapping -> ClassMapping -> Ordering
$cp1Ord :: Eq ClassMapping
Ord, Int -> ClassMapping -> ShowS
[ClassMapping] -> ShowS
ClassMapping -> String
(Int -> ClassMapping -> ShowS)
-> (ClassMapping -> String)
-> ([ClassMapping] -> ShowS)
-> Show ClassMapping
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ClassMapping] -> ShowS
$cshowList :: [ClassMapping] -> ShowS
show :: ClassMapping -> String
$cshow :: ClassMapping -> String
showsPrec :: Int -> ClassMapping -> ShowS
$cshowsPrec :: Int -> ClassMapping -> ShowS
Show)

$(deriveJson ''ClassMapping)