{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.FlaggedIntAttribute
  ( FlaggedIntAttribute(..)
  )
where

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

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

$(deriveJson ''FlaggedIntAttribute)