{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.UniqueIdAttribute
  ( UniqueIdAttribute(..)
  )
where

import Rattletrap.Type.Common
import Rattletrap.Type.RemoteId
import Rattletrap.Type.Word8le

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

$(deriveJson ''UniqueIdAttribute)