{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE DeriveDataTypeable         #-}
{-# LANGUAGE DeriveGeneric              #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PatternSynonyms            #-}
{-# LANGUAGE Strict                     #-}
module Graphics.Vulkan.Types.Enum.ValidationC
       (VkValidationCacheHeaderVersionEXT(VkValidationCacheHeaderVersionEXT,
                                          VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT),
        VkValidationCheckEXT(VkValidationCheckEXT,
                             VK_VALIDATION_CHECK_ALL_EXT, VK_VALIDATION_CHECK_SHADERS_EXT))
       where
import           Data.Data                       (Data)
import           Foreign.Storable                (Storable)
import           GHC.Generics                    (Generic)
import           GHC.Read                        (choose, expectP)
import           Graphics.Vulkan.Marshal         (Int32)
import           Text.ParserCombinators.ReadPrec (prec, step, (+++))
import           Text.Read                       (Read (..), parens)
import           Text.Read.Lex                   (Lexeme (..))

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkValidationCacheHeaderVersionEXT VkValidationCacheHeaderVersionEXT registry at www.khronos.org>
newtype VkValidationCacheHeaderVersionEXT = VkValidationCacheHeaderVersionEXT Int32
                                              deriving (VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
(VkValidationCacheHeaderVersionEXT
 -> VkValidationCacheHeaderVersionEXT -> Bool)
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT -> Bool)
-> Eq VkValidationCacheHeaderVersionEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
$c/= :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
== :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
$c== :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
Eq, Eq VkValidationCacheHeaderVersionEXT
Eq VkValidationCacheHeaderVersionEXT
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT -> Ordering)
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT -> Bool)
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT -> Bool)
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT -> Bool)
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT -> Bool)
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT)
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT)
-> Ord VkValidationCacheHeaderVersionEXT
VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Ordering
VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
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 :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
$cmin :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
max :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
$cmax :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
>= :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
$c>= :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
> :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
$c> :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
<= :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
$c<= :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
< :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
$c< :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Bool
compare :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Ordering
$ccompare :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> Ordering
$cp1Ord :: Eq VkValidationCacheHeaderVersionEXT
Ord, Integer -> VkValidationCacheHeaderVersionEXT
VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
(VkValidationCacheHeaderVersionEXT
 -> VkValidationCacheHeaderVersionEXT
 -> VkValidationCacheHeaderVersionEXT)
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT)
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT)
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT)
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT)
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT)
-> (Integer -> VkValidationCacheHeaderVersionEXT)
-> Num VkValidationCacheHeaderVersionEXT
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> VkValidationCacheHeaderVersionEXT
$cfromInteger :: Integer -> VkValidationCacheHeaderVersionEXT
signum :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
$csignum :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
abs :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
$cabs :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
negate :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
$cnegate :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
* :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
$c* :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
- :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
$c- :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
+ :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
$c+ :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
Num, VkValidationCacheHeaderVersionEXT
VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> Bounded VkValidationCacheHeaderVersionEXT
forall a. a -> a -> Bounded a
maxBound :: VkValidationCacheHeaderVersionEXT
$cmaxBound :: VkValidationCacheHeaderVersionEXT
minBound :: VkValidationCacheHeaderVersionEXT
$cminBound :: VkValidationCacheHeaderVersionEXT
Bounded, Ptr b -> Int -> IO VkValidationCacheHeaderVersionEXT
Ptr b -> Int -> VkValidationCacheHeaderVersionEXT -> IO ()
Ptr VkValidationCacheHeaderVersionEXT
-> IO VkValidationCacheHeaderVersionEXT
Ptr VkValidationCacheHeaderVersionEXT
-> Int -> IO VkValidationCacheHeaderVersionEXT
Ptr VkValidationCacheHeaderVersionEXT
-> Int -> VkValidationCacheHeaderVersionEXT -> IO ()
Ptr VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> IO ()
VkValidationCacheHeaderVersionEXT -> Int
(VkValidationCacheHeaderVersionEXT -> Int)
-> (VkValidationCacheHeaderVersionEXT -> Int)
-> (Ptr VkValidationCacheHeaderVersionEXT
    -> Int -> IO VkValidationCacheHeaderVersionEXT)
-> (Ptr VkValidationCacheHeaderVersionEXT
    -> Int -> VkValidationCacheHeaderVersionEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO VkValidationCacheHeaderVersionEXT)
-> (forall b.
    Ptr b -> Int -> VkValidationCacheHeaderVersionEXT -> IO ())
-> (Ptr VkValidationCacheHeaderVersionEXT
    -> IO VkValidationCacheHeaderVersionEXT)
-> (Ptr VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT -> IO ())
-> Storable VkValidationCacheHeaderVersionEXT
forall b. Ptr b -> Int -> IO VkValidationCacheHeaderVersionEXT
forall b.
Ptr b -> Int -> VkValidationCacheHeaderVersionEXT -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> IO ()
$cpoke :: Ptr VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT -> IO ()
peek :: Ptr VkValidationCacheHeaderVersionEXT
-> IO VkValidationCacheHeaderVersionEXT
$cpeek :: Ptr VkValidationCacheHeaderVersionEXT
-> IO VkValidationCacheHeaderVersionEXT
pokeByteOff :: Ptr b -> Int -> VkValidationCacheHeaderVersionEXT -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> VkValidationCacheHeaderVersionEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO VkValidationCacheHeaderVersionEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkValidationCacheHeaderVersionEXT
pokeElemOff :: Ptr VkValidationCacheHeaderVersionEXT
-> Int -> VkValidationCacheHeaderVersionEXT -> IO ()
$cpokeElemOff :: Ptr VkValidationCacheHeaderVersionEXT
-> Int -> VkValidationCacheHeaderVersionEXT -> IO ()
peekElemOff :: Ptr VkValidationCacheHeaderVersionEXT
-> Int -> IO VkValidationCacheHeaderVersionEXT
$cpeekElemOff :: Ptr VkValidationCacheHeaderVersionEXT
-> Int -> IO VkValidationCacheHeaderVersionEXT
alignment :: VkValidationCacheHeaderVersionEXT -> Int
$calignment :: VkValidationCacheHeaderVersionEXT -> Int
sizeOf :: VkValidationCacheHeaderVersionEXT -> Int
$csizeOf :: VkValidationCacheHeaderVersionEXT -> Int
Storable, Int -> VkValidationCacheHeaderVersionEXT
VkValidationCacheHeaderVersionEXT -> Int
VkValidationCacheHeaderVersionEXT
-> [VkValidationCacheHeaderVersionEXT]
VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> [VkValidationCacheHeaderVersionEXT]
VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> [VkValidationCacheHeaderVersionEXT]
(VkValidationCacheHeaderVersionEXT
 -> VkValidationCacheHeaderVersionEXT)
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT)
-> (Int -> VkValidationCacheHeaderVersionEXT)
-> (VkValidationCacheHeaderVersionEXT -> Int)
-> (VkValidationCacheHeaderVersionEXT
    -> [VkValidationCacheHeaderVersionEXT])
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT
    -> [VkValidationCacheHeaderVersionEXT])
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT
    -> [VkValidationCacheHeaderVersionEXT])
-> (VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT
    -> [VkValidationCacheHeaderVersionEXT])
-> Enum VkValidationCacheHeaderVersionEXT
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> [VkValidationCacheHeaderVersionEXT]
$cenumFromThenTo :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> [VkValidationCacheHeaderVersionEXT]
enumFromTo :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> [VkValidationCacheHeaderVersionEXT]
$cenumFromTo :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> [VkValidationCacheHeaderVersionEXT]
enumFromThen :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> [VkValidationCacheHeaderVersionEXT]
$cenumFromThen :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
-> [VkValidationCacheHeaderVersionEXT]
enumFrom :: VkValidationCacheHeaderVersionEXT
-> [VkValidationCacheHeaderVersionEXT]
$cenumFrom :: VkValidationCacheHeaderVersionEXT
-> [VkValidationCacheHeaderVersionEXT]
fromEnum :: VkValidationCacheHeaderVersionEXT -> Int
$cfromEnum :: VkValidationCacheHeaderVersionEXT -> Int
toEnum :: Int -> VkValidationCacheHeaderVersionEXT
$ctoEnum :: Int -> VkValidationCacheHeaderVersionEXT
pred :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
$cpred :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
succ :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
$csucc :: VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
Enum, Typeable VkValidationCacheHeaderVersionEXT
DataType
Constr
Typeable VkValidationCacheHeaderVersionEXT
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g)
    -> VkValidationCacheHeaderVersionEXT
    -> c VkValidationCacheHeaderVersionEXT)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r)
    -> Constr
    -> c VkValidationCacheHeaderVersionEXT)
-> (VkValidationCacheHeaderVersionEXT -> Constr)
-> (VkValidationCacheHeaderVersionEXT -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d))
    -> Maybe (c VkValidationCacheHeaderVersionEXT))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c VkValidationCacheHeaderVersionEXT))
-> ((forall b. Data b => b -> b)
    -> VkValidationCacheHeaderVersionEXT
    -> VkValidationCacheHeaderVersionEXT)
-> (forall r r'.
    (r -> r' -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> VkValidationCacheHeaderVersionEXT
    -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> VkValidationCacheHeaderVersionEXT
    -> r)
-> (forall u.
    (forall d. Data d => d -> u)
    -> VkValidationCacheHeaderVersionEXT -> [u])
-> (forall u.
    Int
    -> (forall d. Data d => d -> u)
    -> VkValidationCacheHeaderVersionEXT
    -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> VkValidationCacheHeaderVersionEXT
    -> m VkValidationCacheHeaderVersionEXT)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkValidationCacheHeaderVersionEXT
    -> m VkValidationCacheHeaderVersionEXT)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkValidationCacheHeaderVersionEXT
    -> m VkValidationCacheHeaderVersionEXT)
-> Data VkValidationCacheHeaderVersionEXT
VkValidationCacheHeaderVersionEXT -> DataType
VkValidationCacheHeaderVersionEXT -> Constr
(forall b. Data b => b -> b)
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkValidationCacheHeaderVersionEXT
-> c VkValidationCacheHeaderVersionEXT
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r)
-> Constr
-> c VkValidationCacheHeaderVersionEXT
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int
-> (forall d. Data d => d -> u)
-> VkValidationCacheHeaderVersionEXT
-> u
forall u.
(forall d. Data d => d -> u)
-> VkValidationCacheHeaderVersionEXT -> [u]
forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkValidationCacheHeaderVersionEXT
-> r
forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkValidationCacheHeaderVersionEXT
-> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkValidationCacheHeaderVersionEXT
-> m VkValidationCacheHeaderVersionEXT
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkValidationCacheHeaderVersionEXT
-> m VkValidationCacheHeaderVersionEXT
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r)
-> Constr
-> c VkValidationCacheHeaderVersionEXT
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkValidationCacheHeaderVersionEXT
-> c VkValidationCacheHeaderVersionEXT
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d))
-> Maybe (c VkValidationCacheHeaderVersionEXT)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkValidationCacheHeaderVersionEXT)
$cVkValidationCacheHeaderVersionEXT :: Constr
$tVkValidationCacheHeaderVersionEXT :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> VkValidationCacheHeaderVersionEXT
-> m VkValidationCacheHeaderVersionEXT
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkValidationCacheHeaderVersionEXT
-> m VkValidationCacheHeaderVersionEXT
gmapMp :: (forall d. Data d => d -> m d)
-> VkValidationCacheHeaderVersionEXT
-> m VkValidationCacheHeaderVersionEXT
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkValidationCacheHeaderVersionEXT
-> m VkValidationCacheHeaderVersionEXT
gmapM :: (forall d. Data d => d -> m d)
-> VkValidationCacheHeaderVersionEXT
-> m VkValidationCacheHeaderVersionEXT
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkValidationCacheHeaderVersionEXT
-> m VkValidationCacheHeaderVersionEXT
gmapQi :: Int
-> (forall d. Data d => d -> u)
-> VkValidationCacheHeaderVersionEXT
-> u
$cgmapQi :: forall u.
Int
-> (forall d. Data d => d -> u)
-> VkValidationCacheHeaderVersionEXT
-> u
gmapQ :: (forall d. Data d => d -> u)
-> VkValidationCacheHeaderVersionEXT -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u)
-> VkValidationCacheHeaderVersionEXT -> [u]
gmapQr :: (r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkValidationCacheHeaderVersionEXT
-> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkValidationCacheHeaderVersionEXT
-> r
gmapQl :: (r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkValidationCacheHeaderVersionEXT
-> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkValidationCacheHeaderVersionEXT
-> r
gmapT :: (forall b. Data b => b -> b)
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
$cgmapT :: (forall b. Data b => b -> b)
-> VkValidationCacheHeaderVersionEXT
-> VkValidationCacheHeaderVersionEXT
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkValidationCacheHeaderVersionEXT)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkValidationCacheHeaderVersionEXT)
dataCast1 :: (forall d. Data d => c (t d))
-> Maybe (c VkValidationCacheHeaderVersionEXT)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d))
-> Maybe (c VkValidationCacheHeaderVersionEXT)
dataTypeOf :: VkValidationCacheHeaderVersionEXT -> DataType
$cdataTypeOf :: VkValidationCacheHeaderVersionEXT -> DataType
toConstr :: VkValidationCacheHeaderVersionEXT -> Constr
$ctoConstr :: VkValidationCacheHeaderVersionEXT -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r)
-> Constr
-> c VkValidationCacheHeaderVersionEXT
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r)
-> Constr
-> c VkValidationCacheHeaderVersionEXT
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkValidationCacheHeaderVersionEXT
-> c VkValidationCacheHeaderVersionEXT
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkValidationCacheHeaderVersionEXT
-> c VkValidationCacheHeaderVersionEXT
$cp1Data :: Typeable VkValidationCacheHeaderVersionEXT
Data,
                                                        (forall x.
 VkValidationCacheHeaderVersionEXT
 -> Rep VkValidationCacheHeaderVersionEXT x)
-> (forall x.
    Rep VkValidationCacheHeaderVersionEXT x
    -> VkValidationCacheHeaderVersionEXT)
-> Generic VkValidationCacheHeaderVersionEXT
forall x.
Rep VkValidationCacheHeaderVersionEXT x
-> VkValidationCacheHeaderVersionEXT
forall x.
VkValidationCacheHeaderVersionEXT
-> Rep VkValidationCacheHeaderVersionEXT x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep VkValidationCacheHeaderVersionEXT x
-> VkValidationCacheHeaderVersionEXT
$cfrom :: forall x.
VkValidationCacheHeaderVersionEXT
-> Rep VkValidationCacheHeaderVersionEXT x
Generic)

instance Show VkValidationCacheHeaderVersionEXT where
        showsPrec :: Int -> VkValidationCacheHeaderVersionEXT -> ShowS
showsPrec Int
_ VkValidationCacheHeaderVersionEXT
VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT
          = String -> ShowS
showString String
"VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT"
        showsPrec Int
p (VkValidationCacheHeaderVersionEXT Int32
x)
          = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
              (String -> ShowS
showString String
"VkValidationCacheHeaderVersionEXT " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 Int32
x)

instance Read VkValidationCacheHeaderVersionEXT where
        readPrec :: ReadPrec VkValidationCacheHeaderVersionEXT
readPrec
          = ReadPrec VkValidationCacheHeaderVersionEXT
-> ReadPrec VkValidationCacheHeaderVersionEXT
forall a. ReadPrec a -> ReadPrec a
parens
              ([(String, ReadPrec VkValidationCacheHeaderVersionEXT)]
-> ReadPrec VkValidationCacheHeaderVersionEXT
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
                 [(String
"VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT",
                   VkValidationCacheHeaderVersionEXT
-> ReadPrec VkValidationCacheHeaderVersionEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkValidationCacheHeaderVersionEXT
VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT)]
                 ReadPrec VkValidationCacheHeaderVersionEXT
-> ReadPrec VkValidationCacheHeaderVersionEXT
-> ReadPrec VkValidationCacheHeaderVersionEXT
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                 Int
-> ReadPrec VkValidationCacheHeaderVersionEXT
-> ReadPrec VkValidationCacheHeaderVersionEXT
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
                   (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkValidationCacheHeaderVersionEXT") ReadPrec ()
-> ReadPrec VkValidationCacheHeaderVersionEXT
-> ReadPrec VkValidationCacheHeaderVersionEXT
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                      (Int32 -> VkValidationCacheHeaderVersionEXT
VkValidationCacheHeaderVersionEXT (Int32 -> VkValidationCacheHeaderVersionEXT)
-> ReadPrec Int32 -> ReadPrec VkValidationCacheHeaderVersionEXT
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec Int32 -> ReadPrec Int32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Int32
forall a. Read a => ReadPrec a
readPrec)))

pattern VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT ::
        VkValidationCacheHeaderVersionEXT

pattern $bVK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT :: VkValidationCacheHeaderVersionEXT
$mVK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT :: forall r.
VkValidationCacheHeaderVersionEXT
-> (Void# -> r) -> (Void# -> r) -> r
VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT =
        VkValidationCacheHeaderVersionEXT 1

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkValidationCheckEXT VkValidationCheckEXT registry at www.khronos.org>
newtype VkValidationCheckEXT = VkValidationCheckEXT Int32
                                 deriving (VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
(VkValidationCheckEXT -> VkValidationCheckEXT -> Bool)
-> (VkValidationCheckEXT -> VkValidationCheckEXT -> Bool)
-> Eq VkValidationCheckEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
$c/= :: VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
== :: VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
$c== :: VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
Eq, Eq VkValidationCheckEXT
Eq VkValidationCheckEXT
-> (VkValidationCheckEXT -> VkValidationCheckEXT -> Ordering)
-> (VkValidationCheckEXT -> VkValidationCheckEXT -> Bool)
-> (VkValidationCheckEXT -> VkValidationCheckEXT -> Bool)
-> (VkValidationCheckEXT -> VkValidationCheckEXT -> Bool)
-> (VkValidationCheckEXT -> VkValidationCheckEXT -> Bool)
-> (VkValidationCheckEXT
    -> VkValidationCheckEXT -> VkValidationCheckEXT)
-> (VkValidationCheckEXT
    -> VkValidationCheckEXT -> VkValidationCheckEXT)
-> Ord VkValidationCheckEXT
VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
VkValidationCheckEXT -> VkValidationCheckEXT -> Ordering
VkValidationCheckEXT
-> VkValidationCheckEXT -> VkValidationCheckEXT
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 :: VkValidationCheckEXT
-> VkValidationCheckEXT -> VkValidationCheckEXT
$cmin :: VkValidationCheckEXT
-> VkValidationCheckEXT -> VkValidationCheckEXT
max :: VkValidationCheckEXT
-> VkValidationCheckEXT -> VkValidationCheckEXT
$cmax :: VkValidationCheckEXT
-> VkValidationCheckEXT -> VkValidationCheckEXT
>= :: VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
$c>= :: VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
> :: VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
$c> :: VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
<= :: VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
$c<= :: VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
< :: VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
$c< :: VkValidationCheckEXT -> VkValidationCheckEXT -> Bool
compare :: VkValidationCheckEXT -> VkValidationCheckEXT -> Ordering
$ccompare :: VkValidationCheckEXT -> VkValidationCheckEXT -> Ordering
$cp1Ord :: Eq VkValidationCheckEXT
Ord, Integer -> VkValidationCheckEXT
VkValidationCheckEXT -> VkValidationCheckEXT
VkValidationCheckEXT
-> VkValidationCheckEXT -> VkValidationCheckEXT
(VkValidationCheckEXT
 -> VkValidationCheckEXT -> VkValidationCheckEXT)
-> (VkValidationCheckEXT
    -> VkValidationCheckEXT -> VkValidationCheckEXT)
-> (VkValidationCheckEXT
    -> VkValidationCheckEXT -> VkValidationCheckEXT)
-> (VkValidationCheckEXT -> VkValidationCheckEXT)
-> (VkValidationCheckEXT -> VkValidationCheckEXT)
-> (VkValidationCheckEXT -> VkValidationCheckEXT)
-> (Integer -> VkValidationCheckEXT)
-> Num VkValidationCheckEXT
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> VkValidationCheckEXT
$cfromInteger :: Integer -> VkValidationCheckEXT
signum :: VkValidationCheckEXT -> VkValidationCheckEXT
$csignum :: VkValidationCheckEXT -> VkValidationCheckEXT
abs :: VkValidationCheckEXT -> VkValidationCheckEXT
$cabs :: VkValidationCheckEXT -> VkValidationCheckEXT
negate :: VkValidationCheckEXT -> VkValidationCheckEXT
$cnegate :: VkValidationCheckEXT -> VkValidationCheckEXT
* :: VkValidationCheckEXT
-> VkValidationCheckEXT -> VkValidationCheckEXT
$c* :: VkValidationCheckEXT
-> VkValidationCheckEXT -> VkValidationCheckEXT
- :: VkValidationCheckEXT
-> VkValidationCheckEXT -> VkValidationCheckEXT
$c- :: VkValidationCheckEXT
-> VkValidationCheckEXT -> VkValidationCheckEXT
+ :: VkValidationCheckEXT
-> VkValidationCheckEXT -> VkValidationCheckEXT
$c+ :: VkValidationCheckEXT
-> VkValidationCheckEXT -> VkValidationCheckEXT
Num, VkValidationCheckEXT
VkValidationCheckEXT
-> VkValidationCheckEXT -> Bounded VkValidationCheckEXT
forall a. a -> a -> Bounded a
maxBound :: VkValidationCheckEXT
$cmaxBound :: VkValidationCheckEXT
minBound :: VkValidationCheckEXT
$cminBound :: VkValidationCheckEXT
Bounded, Ptr b -> Int -> IO VkValidationCheckEXT
Ptr b -> Int -> VkValidationCheckEXT -> IO ()
Ptr VkValidationCheckEXT -> IO VkValidationCheckEXT
Ptr VkValidationCheckEXT -> Int -> IO VkValidationCheckEXT
Ptr VkValidationCheckEXT -> Int -> VkValidationCheckEXT -> IO ()
Ptr VkValidationCheckEXT -> VkValidationCheckEXT -> IO ()
VkValidationCheckEXT -> Int
(VkValidationCheckEXT -> Int)
-> (VkValidationCheckEXT -> Int)
-> (Ptr VkValidationCheckEXT -> Int -> IO VkValidationCheckEXT)
-> (Ptr VkValidationCheckEXT
    -> Int -> VkValidationCheckEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO VkValidationCheckEXT)
-> (forall b. Ptr b -> Int -> VkValidationCheckEXT -> IO ())
-> (Ptr VkValidationCheckEXT -> IO VkValidationCheckEXT)
-> (Ptr VkValidationCheckEXT -> VkValidationCheckEXT -> IO ())
-> Storable VkValidationCheckEXT
forall b. Ptr b -> Int -> IO VkValidationCheckEXT
forall b. Ptr b -> Int -> VkValidationCheckEXT -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr VkValidationCheckEXT -> VkValidationCheckEXT -> IO ()
$cpoke :: Ptr VkValidationCheckEXT -> VkValidationCheckEXT -> IO ()
peek :: Ptr VkValidationCheckEXT -> IO VkValidationCheckEXT
$cpeek :: Ptr VkValidationCheckEXT -> IO VkValidationCheckEXT
pokeByteOff :: Ptr b -> Int -> VkValidationCheckEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkValidationCheckEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO VkValidationCheckEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkValidationCheckEXT
pokeElemOff :: Ptr VkValidationCheckEXT -> Int -> VkValidationCheckEXT -> IO ()
$cpokeElemOff :: Ptr VkValidationCheckEXT -> Int -> VkValidationCheckEXT -> IO ()
peekElemOff :: Ptr VkValidationCheckEXT -> Int -> IO VkValidationCheckEXT
$cpeekElemOff :: Ptr VkValidationCheckEXT -> Int -> IO VkValidationCheckEXT
alignment :: VkValidationCheckEXT -> Int
$calignment :: VkValidationCheckEXT -> Int
sizeOf :: VkValidationCheckEXT -> Int
$csizeOf :: VkValidationCheckEXT -> Int
Storable, Int -> VkValidationCheckEXT
VkValidationCheckEXT -> Int
VkValidationCheckEXT -> [VkValidationCheckEXT]
VkValidationCheckEXT -> VkValidationCheckEXT
VkValidationCheckEXT
-> VkValidationCheckEXT -> [VkValidationCheckEXT]
VkValidationCheckEXT
-> VkValidationCheckEXT
-> VkValidationCheckEXT
-> [VkValidationCheckEXT]
(VkValidationCheckEXT -> VkValidationCheckEXT)
-> (VkValidationCheckEXT -> VkValidationCheckEXT)
-> (Int -> VkValidationCheckEXT)
-> (VkValidationCheckEXT -> Int)
-> (VkValidationCheckEXT -> [VkValidationCheckEXT])
-> (VkValidationCheckEXT
    -> VkValidationCheckEXT -> [VkValidationCheckEXT])
-> (VkValidationCheckEXT
    -> VkValidationCheckEXT -> [VkValidationCheckEXT])
-> (VkValidationCheckEXT
    -> VkValidationCheckEXT
    -> VkValidationCheckEXT
    -> [VkValidationCheckEXT])
-> Enum VkValidationCheckEXT
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: VkValidationCheckEXT
-> VkValidationCheckEXT
-> VkValidationCheckEXT
-> [VkValidationCheckEXT]
$cenumFromThenTo :: VkValidationCheckEXT
-> VkValidationCheckEXT
-> VkValidationCheckEXT
-> [VkValidationCheckEXT]
enumFromTo :: VkValidationCheckEXT
-> VkValidationCheckEXT -> [VkValidationCheckEXT]
$cenumFromTo :: VkValidationCheckEXT
-> VkValidationCheckEXT -> [VkValidationCheckEXT]
enumFromThen :: VkValidationCheckEXT
-> VkValidationCheckEXT -> [VkValidationCheckEXT]
$cenumFromThen :: VkValidationCheckEXT
-> VkValidationCheckEXT -> [VkValidationCheckEXT]
enumFrom :: VkValidationCheckEXT -> [VkValidationCheckEXT]
$cenumFrom :: VkValidationCheckEXT -> [VkValidationCheckEXT]
fromEnum :: VkValidationCheckEXT -> Int
$cfromEnum :: VkValidationCheckEXT -> Int
toEnum :: Int -> VkValidationCheckEXT
$ctoEnum :: Int -> VkValidationCheckEXT
pred :: VkValidationCheckEXT -> VkValidationCheckEXT
$cpred :: VkValidationCheckEXT -> VkValidationCheckEXT
succ :: VkValidationCheckEXT -> VkValidationCheckEXT
$csucc :: VkValidationCheckEXT -> VkValidationCheckEXT
Enum, Typeable VkValidationCheckEXT
DataType
Constr
Typeable VkValidationCheckEXT
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g)
    -> VkValidationCheckEXT
    -> c VkValidationCheckEXT)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c VkValidationCheckEXT)
-> (VkValidationCheckEXT -> Constr)
-> (VkValidationCheckEXT -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c VkValidationCheckEXT))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c VkValidationCheckEXT))
-> ((forall b. Data b => b -> b)
    -> VkValidationCheckEXT -> VkValidationCheckEXT)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> VkValidationCheckEXT -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> VkValidationCheckEXT -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> VkValidationCheckEXT -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> VkValidationCheckEXT -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> VkValidationCheckEXT -> m VkValidationCheckEXT)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkValidationCheckEXT -> m VkValidationCheckEXT)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkValidationCheckEXT -> m VkValidationCheckEXT)
-> Data VkValidationCheckEXT
VkValidationCheckEXT -> DataType
VkValidationCheckEXT -> Constr
(forall b. Data b => b -> b)
-> VkValidationCheckEXT -> VkValidationCheckEXT
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkValidationCheckEXT
-> c VkValidationCheckEXT
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkValidationCheckEXT
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> VkValidationCheckEXT -> u
forall u.
(forall d. Data d => d -> u) -> VkValidationCheckEXT -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkValidationCheckEXT -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkValidationCheckEXT -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkValidationCheckEXT -> m VkValidationCheckEXT
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkValidationCheckEXT -> m VkValidationCheckEXT
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkValidationCheckEXT
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkValidationCheckEXT
-> c VkValidationCheckEXT
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkValidationCheckEXT)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkValidationCheckEXT)
$cVkValidationCheckEXT :: Constr
$tVkValidationCheckEXT :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> VkValidationCheckEXT -> m VkValidationCheckEXT
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkValidationCheckEXT -> m VkValidationCheckEXT
gmapMp :: (forall d. Data d => d -> m d)
-> VkValidationCheckEXT -> m VkValidationCheckEXT
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkValidationCheckEXT -> m VkValidationCheckEXT
gmapM :: (forall d. Data d => d -> m d)
-> VkValidationCheckEXT -> m VkValidationCheckEXT
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkValidationCheckEXT -> m VkValidationCheckEXT
gmapQi :: Int -> (forall d. Data d => d -> u) -> VkValidationCheckEXT -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> VkValidationCheckEXT -> u
gmapQ :: (forall d. Data d => d -> u) -> VkValidationCheckEXT -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> VkValidationCheckEXT -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkValidationCheckEXT -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkValidationCheckEXT -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkValidationCheckEXT -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkValidationCheckEXT -> r
gmapT :: (forall b. Data b => b -> b)
-> VkValidationCheckEXT -> VkValidationCheckEXT
$cgmapT :: (forall b. Data b => b -> b)
-> VkValidationCheckEXT -> VkValidationCheckEXT
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkValidationCheckEXT)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkValidationCheckEXT)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c VkValidationCheckEXT)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkValidationCheckEXT)
dataTypeOf :: VkValidationCheckEXT -> DataType
$cdataTypeOf :: VkValidationCheckEXT -> DataType
toConstr :: VkValidationCheckEXT -> Constr
$ctoConstr :: VkValidationCheckEXT -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkValidationCheckEXT
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkValidationCheckEXT
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkValidationCheckEXT
-> c VkValidationCheckEXT
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkValidationCheckEXT
-> c VkValidationCheckEXT
$cp1Data :: Typeable VkValidationCheckEXT
Data, (forall x. VkValidationCheckEXT -> Rep VkValidationCheckEXT x)
-> (forall x. Rep VkValidationCheckEXT x -> VkValidationCheckEXT)
-> Generic VkValidationCheckEXT
forall x. Rep VkValidationCheckEXT x -> VkValidationCheckEXT
forall x. VkValidationCheckEXT -> Rep VkValidationCheckEXT x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep VkValidationCheckEXT x -> VkValidationCheckEXT
$cfrom :: forall x. VkValidationCheckEXT -> Rep VkValidationCheckEXT x
Generic)

instance Show VkValidationCheckEXT where
        showsPrec :: Int -> VkValidationCheckEXT -> ShowS
showsPrec Int
_ VkValidationCheckEXT
VK_VALIDATION_CHECK_ALL_EXT
          = String -> ShowS
showString String
"VK_VALIDATION_CHECK_ALL_EXT"
        showsPrec Int
_ VkValidationCheckEXT
VK_VALIDATION_CHECK_SHADERS_EXT
          = String -> ShowS
showString String
"VK_VALIDATION_CHECK_SHADERS_EXT"
        showsPrec Int
p (VkValidationCheckEXT Int32
x)
          = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
              (String -> ShowS
showString String
"VkValidationCheckEXT " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 Int32
x)

instance Read VkValidationCheckEXT where
        readPrec :: ReadPrec VkValidationCheckEXT
readPrec
          = ReadPrec VkValidationCheckEXT -> ReadPrec VkValidationCheckEXT
forall a. ReadPrec a -> ReadPrec a
parens
              ([(String, ReadPrec VkValidationCheckEXT)]
-> ReadPrec VkValidationCheckEXT
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
                 [(String
"VK_VALIDATION_CHECK_ALL_EXT", VkValidationCheckEXT -> ReadPrec VkValidationCheckEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkValidationCheckEXT
VK_VALIDATION_CHECK_ALL_EXT),
                  (String
"VK_VALIDATION_CHECK_SHADERS_EXT",
                   VkValidationCheckEXT -> ReadPrec VkValidationCheckEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkValidationCheckEXT
VK_VALIDATION_CHECK_SHADERS_EXT)]
                 ReadPrec VkValidationCheckEXT
-> ReadPrec VkValidationCheckEXT -> ReadPrec VkValidationCheckEXT
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                 Int
-> ReadPrec VkValidationCheckEXT -> ReadPrec VkValidationCheckEXT
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
                   (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkValidationCheckEXT") ReadPrec ()
-> ReadPrec VkValidationCheckEXT -> ReadPrec VkValidationCheckEXT
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                      (Int32 -> VkValidationCheckEXT
VkValidationCheckEXT (Int32 -> VkValidationCheckEXT)
-> ReadPrec Int32 -> ReadPrec VkValidationCheckEXT
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec Int32 -> ReadPrec Int32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Int32
forall a. Read a => ReadPrec a
readPrec)))

pattern VK_VALIDATION_CHECK_ALL_EXT :: VkValidationCheckEXT

pattern $bVK_VALIDATION_CHECK_ALL_EXT :: VkValidationCheckEXT
$mVK_VALIDATION_CHECK_ALL_EXT :: forall r. VkValidationCheckEXT -> (Void# -> r) -> (Void# -> r) -> r
VK_VALIDATION_CHECK_ALL_EXT = VkValidationCheckEXT 0

pattern VK_VALIDATION_CHECK_SHADERS_EXT :: VkValidationCheckEXT

pattern $bVK_VALIDATION_CHECK_SHADERS_EXT :: VkValidationCheckEXT
$mVK_VALIDATION_CHECK_SHADERS_EXT :: forall r. VkValidationCheckEXT -> (Void# -> r) -> (Void# -> r) -> r
VK_VALIDATION_CHECK_SHADERS_EXT = VkValidationCheckEXT 1