{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.IntAttribute
  ( IntAttribute(..)
  )
where

import Rattletrap.Type.Common
import Rattletrap.Type.Int32le

newtype IntAttribute = IntAttribute
  { IntAttribute -> Int32le
intAttributeValue :: Int32le
  } deriving (IntAttribute -> IntAttribute -> Bool
(IntAttribute -> IntAttribute -> Bool)
-> (IntAttribute -> IntAttribute -> Bool) -> Eq IntAttribute
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: IntAttribute -> IntAttribute -> Bool
$c/= :: IntAttribute -> IntAttribute -> Bool
== :: IntAttribute -> IntAttribute -> Bool
$c== :: IntAttribute -> IntAttribute -> Bool
Eq, Eq IntAttribute
Eq IntAttribute
-> (IntAttribute -> IntAttribute -> Ordering)
-> (IntAttribute -> IntAttribute -> Bool)
-> (IntAttribute -> IntAttribute -> Bool)
-> (IntAttribute -> IntAttribute -> Bool)
-> (IntAttribute -> IntAttribute -> Bool)
-> (IntAttribute -> IntAttribute -> IntAttribute)
-> (IntAttribute -> IntAttribute -> IntAttribute)
-> Ord IntAttribute
IntAttribute -> IntAttribute -> Bool
IntAttribute -> IntAttribute -> Ordering
IntAttribute -> IntAttribute -> IntAttribute
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 :: IntAttribute -> IntAttribute -> IntAttribute
$cmin :: IntAttribute -> IntAttribute -> IntAttribute
max :: IntAttribute -> IntAttribute -> IntAttribute
$cmax :: IntAttribute -> IntAttribute -> IntAttribute
>= :: IntAttribute -> IntAttribute -> Bool
$c>= :: IntAttribute -> IntAttribute -> Bool
> :: IntAttribute -> IntAttribute -> Bool
$c> :: IntAttribute -> IntAttribute -> Bool
<= :: IntAttribute -> IntAttribute -> Bool
$c<= :: IntAttribute -> IntAttribute -> Bool
< :: IntAttribute -> IntAttribute -> Bool
$c< :: IntAttribute -> IntAttribute -> Bool
compare :: IntAttribute -> IntAttribute -> Ordering
$ccompare :: IntAttribute -> IntAttribute -> Ordering
$cp1Ord :: Eq IntAttribute
Ord, Int -> IntAttribute -> ShowS
[IntAttribute] -> ShowS
IntAttribute -> String
(Int -> IntAttribute -> ShowS)
-> (IntAttribute -> String)
-> ([IntAttribute] -> ShowS)
-> Show IntAttribute
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [IntAttribute] -> ShowS
$cshowList :: [IntAttribute] -> ShowS
show :: IntAttribute -> String
$cshow :: IntAttribute -> String
showsPrec :: Int -> IntAttribute -> ShowS
$cshowsPrec :: Int -> IntAttribute -> ShowS
Show)

$(deriveJson ''IntAttribute)