module Data.SpirV.Reflect.SpecializationConstant
  ( SpecializationConstant(..)
  ) where

import Data.Text (Text)
import Data.Word (Word32)
import GHC.Generics (Generic)

data SpecializationConstant = SpecializationConstant
  { SpecializationConstant -> Maybe Word32
spirv_id    :: Maybe Word32
  , SpecializationConstant -> Word32
constant_id :: Word32
  , SpecializationConstant -> Maybe Text
name        :: Maybe Text
  }
  deriving (SpecializationConstant -> SpecializationConstant -> Bool
(SpecializationConstant -> SpecializationConstant -> Bool)
-> (SpecializationConstant -> SpecializationConstant -> Bool)
-> Eq SpecializationConstant
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SpecializationConstant -> SpecializationConstant -> Bool
== :: SpecializationConstant -> SpecializationConstant -> Bool
$c/= :: SpecializationConstant -> SpecializationConstant -> Bool
/= :: SpecializationConstant -> SpecializationConstant -> Bool
Eq, Int -> SpecializationConstant -> ShowS
[SpecializationConstant] -> ShowS
SpecializationConstant -> String
(Int -> SpecializationConstant -> ShowS)
-> (SpecializationConstant -> String)
-> ([SpecializationConstant] -> ShowS)
-> Show SpecializationConstant
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SpecializationConstant -> ShowS
showsPrec :: Int -> SpecializationConstant -> ShowS
$cshow :: SpecializationConstant -> String
show :: SpecializationConstant -> String
$cshowList :: [SpecializationConstant] -> ShowS
showList :: [SpecializationConstant] -> ShowS
Show, (forall x. SpecializationConstant -> Rep SpecializationConstant x)
-> (forall x.
    Rep SpecializationConstant x -> SpecializationConstant)
-> Generic SpecializationConstant
forall x. Rep SpecializationConstant x -> SpecializationConstant
forall x. SpecializationConstant -> Rep SpecializationConstant x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SpecializationConstant -> Rep SpecializationConstant x
from :: forall x. SpecializationConstant -> Rep SpecializationConstant x
$cto :: forall x. Rep SpecializationConstant x -> SpecializationConstant
to :: forall x. Rep SpecializationConstant x -> SpecializationConstant
Generic)