{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE DeriveDataTypeable         #-}
{-# LANGUAGE DeriveGeneric              #-}
{-# LANGUAGE FlexibleInstances          #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE KindSignatures             #-}
{-# LANGUAGE PatternSynonyms            #-}
{-# LANGUAGE StandaloneDeriving         #-}
{-# LANGUAGE Strict                     #-}
{-# LANGUAGE TypeSynonymInstances       #-}
module Graphics.Vulkan.Types.Enum.Object
       (VkObjectEntryTypeNVX(VkObjectEntryTypeNVX,
                             VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,
                             VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX,
                             VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX,
                             VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX,
                             VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX),
        VkObjectEntryUsageBitmaskNVX(VkObjectEntryUsageBitmaskNVX,
                                     VkObjectEntryUsageFlagsNVX, VkObjectEntryUsageFlagBitsNVX,
                                     VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX,
                                     VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX),
        VkObjectEntryUsageFlagsNVX, VkObjectEntryUsageFlagBitsNVX,
        VkObjectType(VkObjectType, VK_OBJECT_TYPE_UNKNOWN,
                     VK_OBJECT_TYPE_INSTANCE, VK_OBJECT_TYPE_PHYSICAL_DEVICE,
                     VK_OBJECT_TYPE_DEVICE, VK_OBJECT_TYPE_QUEUE,
                     VK_OBJECT_TYPE_SEMAPHORE, VK_OBJECT_TYPE_COMMAND_BUFFER,
                     VK_OBJECT_TYPE_FENCE, VK_OBJECT_TYPE_DEVICE_MEMORY,
                     VK_OBJECT_TYPE_BUFFER, VK_OBJECT_TYPE_IMAGE, VK_OBJECT_TYPE_EVENT,
                     VK_OBJECT_TYPE_QUERY_POOL, VK_OBJECT_TYPE_BUFFER_VIEW,
                     VK_OBJECT_TYPE_IMAGE_VIEW, VK_OBJECT_TYPE_SHADER_MODULE,
                     VK_OBJECT_TYPE_PIPELINE_CACHE, VK_OBJECT_TYPE_PIPELINE_LAYOUT,
                     VK_OBJECT_TYPE_RENDER_PASS, VK_OBJECT_TYPE_PIPELINE,
                     VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, VK_OBJECT_TYPE_SAMPLER,
                     VK_OBJECT_TYPE_DESCRIPTOR_POOL, VK_OBJECT_TYPE_DESCRIPTOR_SET,
                     VK_OBJECT_TYPE_FRAMEBUFFER, VK_OBJECT_TYPE_COMMAND_POOL))
       where
import           Data.Bits                       (Bits, FiniteBits)
import           Data.Data                       (Data)
import           Foreign.Storable                (Storable)
import           GHC.Generics                    (Generic)
import           GHC.Read                        (choose, expectP)
import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType,
                                                  Int32)
import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))
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#VkObjectEntryTypeNVX VkObjectEntryTypeNVX registry at www.khronos.org>
newtype VkObjectEntryTypeNVX = VkObjectEntryTypeNVX Int32
                                 deriving (VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
(VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool)
-> (VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool)
-> Eq VkObjectEntryTypeNVX
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
$c/= :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
== :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
$c== :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
Eq, Eq VkObjectEntryTypeNVX
Eq VkObjectEntryTypeNVX
-> (VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Ordering)
-> (VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool)
-> (VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool)
-> (VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool)
-> (VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool)
-> (VkObjectEntryTypeNVX
    -> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX)
-> (VkObjectEntryTypeNVX
    -> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX)
-> Ord VkObjectEntryTypeNVX
VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Ordering
VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
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 :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
$cmin :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
max :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
$cmax :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
>= :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
$c>= :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
> :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
$c> :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
<= :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
$c<= :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
< :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
$c< :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Bool
compare :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Ordering
$ccompare :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> Ordering
$cp1Ord :: Eq VkObjectEntryTypeNVX
Ord, Integer -> VkObjectEntryTypeNVX
VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
(VkObjectEntryTypeNVX
 -> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX)
-> (VkObjectEntryTypeNVX
    -> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX)
-> (VkObjectEntryTypeNVX
    -> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX)
-> (VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX)
-> (VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX)
-> (VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX)
-> (Integer -> VkObjectEntryTypeNVX)
-> Num VkObjectEntryTypeNVX
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> VkObjectEntryTypeNVX
$cfromInteger :: Integer -> VkObjectEntryTypeNVX
signum :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
$csignum :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
abs :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
$cabs :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
negate :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
$cnegate :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
* :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
$c* :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
- :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
$c- :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
+ :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
$c+ :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
Num, VkObjectEntryTypeNVX
VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> Bounded VkObjectEntryTypeNVX
forall a. a -> a -> Bounded a
maxBound :: VkObjectEntryTypeNVX
$cmaxBound :: VkObjectEntryTypeNVX
minBound :: VkObjectEntryTypeNVX
$cminBound :: VkObjectEntryTypeNVX
Bounded, Ptr b -> Int -> IO VkObjectEntryTypeNVX
Ptr b -> Int -> VkObjectEntryTypeNVX -> IO ()
Ptr VkObjectEntryTypeNVX -> IO VkObjectEntryTypeNVX
Ptr VkObjectEntryTypeNVX -> Int -> IO VkObjectEntryTypeNVX
Ptr VkObjectEntryTypeNVX -> Int -> VkObjectEntryTypeNVX -> IO ()
Ptr VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> IO ()
VkObjectEntryTypeNVX -> Int
(VkObjectEntryTypeNVX -> Int)
-> (VkObjectEntryTypeNVX -> Int)
-> (Ptr VkObjectEntryTypeNVX -> Int -> IO VkObjectEntryTypeNVX)
-> (Ptr VkObjectEntryTypeNVX
    -> Int -> VkObjectEntryTypeNVX -> IO ())
-> (forall b. Ptr b -> Int -> IO VkObjectEntryTypeNVX)
-> (forall b. Ptr b -> Int -> VkObjectEntryTypeNVX -> IO ())
-> (Ptr VkObjectEntryTypeNVX -> IO VkObjectEntryTypeNVX)
-> (Ptr VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> IO ())
-> Storable VkObjectEntryTypeNVX
forall b. Ptr b -> Int -> IO VkObjectEntryTypeNVX
forall b. Ptr b -> Int -> VkObjectEntryTypeNVX -> 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 VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> IO ()
$cpoke :: Ptr VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX -> IO ()
peek :: Ptr VkObjectEntryTypeNVX -> IO VkObjectEntryTypeNVX
$cpeek :: Ptr VkObjectEntryTypeNVX -> IO VkObjectEntryTypeNVX
pokeByteOff :: Ptr b -> Int -> VkObjectEntryTypeNVX -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkObjectEntryTypeNVX -> IO ()
peekByteOff :: Ptr b -> Int -> IO VkObjectEntryTypeNVX
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkObjectEntryTypeNVX
pokeElemOff :: Ptr VkObjectEntryTypeNVX -> Int -> VkObjectEntryTypeNVX -> IO ()
$cpokeElemOff :: Ptr VkObjectEntryTypeNVX -> Int -> VkObjectEntryTypeNVX -> IO ()
peekElemOff :: Ptr VkObjectEntryTypeNVX -> Int -> IO VkObjectEntryTypeNVX
$cpeekElemOff :: Ptr VkObjectEntryTypeNVX -> Int -> IO VkObjectEntryTypeNVX
alignment :: VkObjectEntryTypeNVX -> Int
$calignment :: VkObjectEntryTypeNVX -> Int
sizeOf :: VkObjectEntryTypeNVX -> Int
$csizeOf :: VkObjectEntryTypeNVX -> Int
Storable, Int -> VkObjectEntryTypeNVX
VkObjectEntryTypeNVX -> Int
VkObjectEntryTypeNVX -> [VkObjectEntryTypeNVX]
VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> [VkObjectEntryTypeNVX]
VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX
-> [VkObjectEntryTypeNVX]
(VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX)
-> (VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX)
-> (Int -> VkObjectEntryTypeNVX)
-> (VkObjectEntryTypeNVX -> Int)
-> (VkObjectEntryTypeNVX -> [VkObjectEntryTypeNVX])
-> (VkObjectEntryTypeNVX
    -> VkObjectEntryTypeNVX -> [VkObjectEntryTypeNVX])
-> (VkObjectEntryTypeNVX
    -> VkObjectEntryTypeNVX -> [VkObjectEntryTypeNVX])
-> (VkObjectEntryTypeNVX
    -> VkObjectEntryTypeNVX
    -> VkObjectEntryTypeNVX
    -> [VkObjectEntryTypeNVX])
-> Enum VkObjectEntryTypeNVX
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 :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX
-> [VkObjectEntryTypeNVX]
$cenumFromThenTo :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX
-> [VkObjectEntryTypeNVX]
enumFromTo :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> [VkObjectEntryTypeNVX]
$cenumFromTo :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> [VkObjectEntryTypeNVX]
enumFromThen :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> [VkObjectEntryTypeNVX]
$cenumFromThen :: VkObjectEntryTypeNVX
-> VkObjectEntryTypeNVX -> [VkObjectEntryTypeNVX]
enumFrom :: VkObjectEntryTypeNVX -> [VkObjectEntryTypeNVX]
$cenumFrom :: VkObjectEntryTypeNVX -> [VkObjectEntryTypeNVX]
fromEnum :: VkObjectEntryTypeNVX -> Int
$cfromEnum :: VkObjectEntryTypeNVX -> Int
toEnum :: Int -> VkObjectEntryTypeNVX
$ctoEnum :: Int -> VkObjectEntryTypeNVX
pred :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
$cpred :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
succ :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
$csucc :: VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
Enum, Typeable VkObjectEntryTypeNVX
DataType
Constr
Typeable VkObjectEntryTypeNVX
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g)
    -> VkObjectEntryTypeNVX
    -> c VkObjectEntryTypeNVX)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c VkObjectEntryTypeNVX)
-> (VkObjectEntryTypeNVX -> Constr)
-> (VkObjectEntryTypeNVX -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c VkObjectEntryTypeNVX))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c VkObjectEntryTypeNVX))
-> ((forall b. Data b => b -> b)
    -> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> VkObjectEntryTypeNVX -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> VkObjectEntryTypeNVX -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> VkObjectEntryTypeNVX -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> VkObjectEntryTypeNVX -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> VkObjectEntryTypeNVX -> m VkObjectEntryTypeNVX)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkObjectEntryTypeNVX -> m VkObjectEntryTypeNVX)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkObjectEntryTypeNVX -> m VkObjectEntryTypeNVX)
-> Data VkObjectEntryTypeNVX
VkObjectEntryTypeNVX -> DataType
VkObjectEntryTypeNVX -> Constr
(forall b. Data b => b -> b)
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkObjectEntryTypeNVX
-> c VkObjectEntryTypeNVX
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkObjectEntryTypeNVX
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) -> VkObjectEntryTypeNVX -> u
forall u.
(forall d. Data d => d -> u) -> VkObjectEntryTypeNVX -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkObjectEntryTypeNVX -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkObjectEntryTypeNVX -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkObjectEntryTypeNVX -> m VkObjectEntryTypeNVX
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkObjectEntryTypeNVX -> m VkObjectEntryTypeNVX
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkObjectEntryTypeNVX
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkObjectEntryTypeNVX
-> c VkObjectEntryTypeNVX
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkObjectEntryTypeNVX)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkObjectEntryTypeNVX)
$cVkObjectEntryTypeNVX :: Constr
$tVkObjectEntryTypeNVX :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> VkObjectEntryTypeNVX -> m VkObjectEntryTypeNVX
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkObjectEntryTypeNVX -> m VkObjectEntryTypeNVX
gmapMp :: (forall d. Data d => d -> m d)
-> VkObjectEntryTypeNVX -> m VkObjectEntryTypeNVX
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkObjectEntryTypeNVX -> m VkObjectEntryTypeNVX
gmapM :: (forall d. Data d => d -> m d)
-> VkObjectEntryTypeNVX -> m VkObjectEntryTypeNVX
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkObjectEntryTypeNVX -> m VkObjectEntryTypeNVX
gmapQi :: Int -> (forall d. Data d => d -> u) -> VkObjectEntryTypeNVX -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> VkObjectEntryTypeNVX -> u
gmapQ :: (forall d. Data d => d -> u) -> VkObjectEntryTypeNVX -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> VkObjectEntryTypeNVX -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkObjectEntryTypeNVX -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkObjectEntryTypeNVX -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkObjectEntryTypeNVX -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkObjectEntryTypeNVX -> r
gmapT :: (forall b. Data b => b -> b)
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
$cgmapT :: (forall b. Data b => b -> b)
-> VkObjectEntryTypeNVX -> VkObjectEntryTypeNVX
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkObjectEntryTypeNVX)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkObjectEntryTypeNVX)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c VkObjectEntryTypeNVX)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkObjectEntryTypeNVX)
dataTypeOf :: VkObjectEntryTypeNVX -> DataType
$cdataTypeOf :: VkObjectEntryTypeNVX -> DataType
toConstr :: VkObjectEntryTypeNVX -> Constr
$ctoConstr :: VkObjectEntryTypeNVX -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkObjectEntryTypeNVX
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkObjectEntryTypeNVX
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkObjectEntryTypeNVX
-> c VkObjectEntryTypeNVX
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkObjectEntryTypeNVX
-> c VkObjectEntryTypeNVX
$cp1Data :: Typeable VkObjectEntryTypeNVX
Data, (forall x. VkObjectEntryTypeNVX -> Rep VkObjectEntryTypeNVX x)
-> (forall x. Rep VkObjectEntryTypeNVX x -> VkObjectEntryTypeNVX)
-> Generic VkObjectEntryTypeNVX
forall x. Rep VkObjectEntryTypeNVX x -> VkObjectEntryTypeNVX
forall x. VkObjectEntryTypeNVX -> Rep VkObjectEntryTypeNVX x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep VkObjectEntryTypeNVX x -> VkObjectEntryTypeNVX
$cfrom :: forall x. VkObjectEntryTypeNVX -> Rep VkObjectEntryTypeNVX x
Generic)

instance Show VkObjectEntryTypeNVX where
        showsPrec :: Int -> VkObjectEntryTypeNVX -> ShowS
showsPrec Int
_ VkObjectEntryTypeNVX
VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX
          = String -> ShowS
showString String
"VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX"
        showsPrec Int
_ VkObjectEntryTypeNVX
VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX
          = String -> ShowS
showString String
"VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX"
        showsPrec Int
_ VkObjectEntryTypeNVX
VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX
          = String -> ShowS
showString String
"VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX"
        showsPrec Int
_ VkObjectEntryTypeNVX
VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX
          = String -> ShowS
showString String
"VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX"
        showsPrec Int
_ VkObjectEntryTypeNVX
VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX
          = String -> ShowS
showString String
"VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX"
        showsPrec Int
p (VkObjectEntryTypeNVX Int32
x)
          = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
              (String -> ShowS
showString String
"VkObjectEntryTypeNVX " 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 VkObjectEntryTypeNVX where
        readPrec :: ReadPrec VkObjectEntryTypeNVX
readPrec
          = ReadPrec VkObjectEntryTypeNVX -> ReadPrec VkObjectEntryTypeNVX
forall a. ReadPrec a -> ReadPrec a
parens
              ([(String, ReadPrec VkObjectEntryTypeNVX)]
-> ReadPrec VkObjectEntryTypeNVX
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
                 [(String
"VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX",
                   VkObjectEntryTypeNVX -> ReadPrec VkObjectEntryTypeNVX
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectEntryTypeNVX
VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX),
                  (String
"VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX",
                   VkObjectEntryTypeNVX -> ReadPrec VkObjectEntryTypeNVX
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectEntryTypeNVX
VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX),
                  (String
"VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX",
                   VkObjectEntryTypeNVX -> ReadPrec VkObjectEntryTypeNVX
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectEntryTypeNVX
VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX),
                  (String
"VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX",
                   VkObjectEntryTypeNVX -> ReadPrec VkObjectEntryTypeNVX
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectEntryTypeNVX
VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX),
                  (String
"VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX",
                   VkObjectEntryTypeNVX -> ReadPrec VkObjectEntryTypeNVX
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectEntryTypeNVX
VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX)]
                 ReadPrec VkObjectEntryTypeNVX
-> ReadPrec VkObjectEntryTypeNVX -> ReadPrec VkObjectEntryTypeNVX
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                 Int
-> ReadPrec VkObjectEntryTypeNVX -> ReadPrec VkObjectEntryTypeNVX
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
                   (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkObjectEntryTypeNVX") ReadPrec ()
-> ReadPrec VkObjectEntryTypeNVX -> ReadPrec VkObjectEntryTypeNVX
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                      (Int32 -> VkObjectEntryTypeNVX
VkObjectEntryTypeNVX (Int32 -> VkObjectEntryTypeNVX)
-> ReadPrec Int32 -> ReadPrec VkObjectEntryTypeNVX
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_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX ::
        VkObjectEntryTypeNVX

pattern $bVK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX :: VkObjectEntryTypeNVX
$mVK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX :: forall r. VkObjectEntryTypeNVX -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX =
        VkObjectEntryTypeNVX 0

pattern VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX :: VkObjectEntryTypeNVX

pattern $bVK_OBJECT_ENTRY_TYPE_PIPELINE_NVX :: VkObjectEntryTypeNVX
$mVK_OBJECT_ENTRY_TYPE_PIPELINE_NVX :: forall r. VkObjectEntryTypeNVX -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = VkObjectEntryTypeNVX 1

pattern VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX ::
        VkObjectEntryTypeNVX

pattern $bVK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX :: VkObjectEntryTypeNVX
$mVK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX :: forall r. VkObjectEntryTypeNVX -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX =
        VkObjectEntryTypeNVX 2

pattern VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX ::
        VkObjectEntryTypeNVX

pattern $bVK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX :: VkObjectEntryTypeNVX
$mVK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX :: forall r. VkObjectEntryTypeNVX -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX =
        VkObjectEntryTypeNVX 3

pattern VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX ::
        VkObjectEntryTypeNVX

pattern $bVK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX :: VkObjectEntryTypeNVX
$mVK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX :: forall r. VkObjectEntryTypeNVX -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX =
        VkObjectEntryTypeNVX 4

newtype VkObjectEntryUsageBitmaskNVX (a ::
                                        FlagType) = VkObjectEntryUsageBitmaskNVX VkFlags
                                                      deriving (VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
(VkObjectEntryUsageBitmaskNVX a
 -> VkObjectEntryUsageBitmaskNVX a -> Bool)
-> (VkObjectEntryUsageBitmaskNVX a
    -> VkObjectEntryUsageBitmaskNVX a -> Bool)
-> Eq (VkObjectEntryUsageBitmaskNVX a)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
/= :: VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
$c/= :: forall (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
== :: VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
$c== :: forall (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
Eq, Eq (VkObjectEntryUsageBitmaskNVX a)
Eq (VkObjectEntryUsageBitmaskNVX a)
-> (VkObjectEntryUsageBitmaskNVX a
    -> VkObjectEntryUsageBitmaskNVX a -> Ordering)
-> (VkObjectEntryUsageBitmaskNVX a
    -> VkObjectEntryUsageBitmaskNVX a -> Bool)
-> (VkObjectEntryUsageBitmaskNVX a
    -> VkObjectEntryUsageBitmaskNVX a -> Bool)
-> (VkObjectEntryUsageBitmaskNVX a
    -> VkObjectEntryUsageBitmaskNVX a -> Bool)
-> (VkObjectEntryUsageBitmaskNVX a
    -> VkObjectEntryUsageBitmaskNVX a -> Bool)
-> (VkObjectEntryUsageBitmaskNVX a
    -> VkObjectEntryUsageBitmaskNVX a
    -> VkObjectEntryUsageBitmaskNVX a)
-> (VkObjectEntryUsageBitmaskNVX a
    -> VkObjectEntryUsageBitmaskNVX a
    -> VkObjectEntryUsageBitmaskNVX a)
-> Ord (VkObjectEntryUsageBitmaskNVX a)
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Ordering
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> VkObjectEntryUsageBitmaskNVX a
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
forall (a :: FlagType). Eq (VkObjectEntryUsageBitmaskNVX a)
forall (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
forall (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Ordering
forall (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> VkObjectEntryUsageBitmaskNVX a
min :: VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> VkObjectEntryUsageBitmaskNVX a
$cmin :: forall (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> VkObjectEntryUsageBitmaskNVX a
max :: VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> VkObjectEntryUsageBitmaskNVX a
$cmax :: forall (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> VkObjectEntryUsageBitmaskNVX a
>= :: VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
$c>= :: forall (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
> :: VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
$c> :: forall (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
<= :: VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
$c<= :: forall (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
< :: VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
$c< :: forall (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Bool
compare :: VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Ordering
$ccompare :: forall (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a
-> VkObjectEntryUsageBitmaskNVX a -> Ordering
$cp1Ord :: forall (a :: FlagType). Eq (VkObjectEntryUsageBitmaskNVX a)
Ord, Ptr b -> Int -> IO (VkObjectEntryUsageBitmaskNVX a)
Ptr b -> Int -> VkObjectEntryUsageBitmaskNVX a -> IO ()
Ptr (VkObjectEntryUsageBitmaskNVX a)
-> IO (VkObjectEntryUsageBitmaskNVX a)
Ptr (VkObjectEntryUsageBitmaskNVX a)
-> Int -> IO (VkObjectEntryUsageBitmaskNVX a)
Ptr (VkObjectEntryUsageBitmaskNVX a)
-> Int -> VkObjectEntryUsageBitmaskNVX a -> IO ()
Ptr (VkObjectEntryUsageBitmaskNVX a)
-> VkObjectEntryUsageBitmaskNVX a -> IO ()
VkObjectEntryUsageBitmaskNVX a -> Int
(VkObjectEntryUsageBitmaskNVX a -> Int)
-> (VkObjectEntryUsageBitmaskNVX a -> Int)
-> (Ptr (VkObjectEntryUsageBitmaskNVX a)
    -> Int -> IO (VkObjectEntryUsageBitmaskNVX a))
-> (Ptr (VkObjectEntryUsageBitmaskNVX a)
    -> Int -> VkObjectEntryUsageBitmaskNVX a -> IO ())
-> (forall b. Ptr b -> Int -> IO (VkObjectEntryUsageBitmaskNVX a))
-> (forall b.
    Ptr b -> Int -> VkObjectEntryUsageBitmaskNVX a -> IO ())
-> (Ptr (VkObjectEntryUsageBitmaskNVX a)
    -> IO (VkObjectEntryUsageBitmaskNVX a))
-> (Ptr (VkObjectEntryUsageBitmaskNVX a)
    -> VkObjectEntryUsageBitmaskNVX a -> IO ())
-> Storable (VkObjectEntryUsageBitmaskNVX a)
forall b. Ptr b -> Int -> IO (VkObjectEntryUsageBitmaskNVX a)
forall b. Ptr b -> Int -> VkObjectEntryUsageBitmaskNVX a -> 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
forall (a :: FlagType).
Ptr (VkObjectEntryUsageBitmaskNVX a)
-> IO (VkObjectEntryUsageBitmaskNVX a)
forall (a :: FlagType).
Ptr (VkObjectEntryUsageBitmaskNVX a)
-> Int -> IO (VkObjectEntryUsageBitmaskNVX a)
forall (a :: FlagType).
Ptr (VkObjectEntryUsageBitmaskNVX a)
-> Int -> VkObjectEntryUsageBitmaskNVX a -> IO ()
forall (a :: FlagType).
Ptr (VkObjectEntryUsageBitmaskNVX a)
-> VkObjectEntryUsageBitmaskNVX a -> IO ()
forall (a :: FlagType). VkObjectEntryUsageBitmaskNVX a -> Int
forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkObjectEntryUsageBitmaskNVX a)
forall (a :: FlagType) b.
Ptr b -> Int -> VkObjectEntryUsageBitmaskNVX a -> IO ()
poke :: Ptr (VkObjectEntryUsageBitmaskNVX a)
-> VkObjectEntryUsageBitmaskNVX a -> IO ()
$cpoke :: forall (a :: FlagType).
Ptr (VkObjectEntryUsageBitmaskNVX a)
-> VkObjectEntryUsageBitmaskNVX a -> IO ()
peek :: Ptr (VkObjectEntryUsageBitmaskNVX a)
-> IO (VkObjectEntryUsageBitmaskNVX a)
$cpeek :: forall (a :: FlagType).
Ptr (VkObjectEntryUsageBitmaskNVX a)
-> IO (VkObjectEntryUsageBitmaskNVX a)
pokeByteOff :: Ptr b -> Int -> VkObjectEntryUsageBitmaskNVX a -> IO ()
$cpokeByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> VkObjectEntryUsageBitmaskNVX a -> IO ()
peekByteOff :: Ptr b -> Int -> IO (VkObjectEntryUsageBitmaskNVX a)
$cpeekByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkObjectEntryUsageBitmaskNVX a)
pokeElemOff :: Ptr (VkObjectEntryUsageBitmaskNVX a)
-> Int -> VkObjectEntryUsageBitmaskNVX a -> IO ()
$cpokeElemOff :: forall (a :: FlagType).
Ptr (VkObjectEntryUsageBitmaskNVX a)
-> Int -> VkObjectEntryUsageBitmaskNVX a -> IO ()
peekElemOff :: Ptr (VkObjectEntryUsageBitmaskNVX a)
-> Int -> IO (VkObjectEntryUsageBitmaskNVX a)
$cpeekElemOff :: forall (a :: FlagType).
Ptr (VkObjectEntryUsageBitmaskNVX a)
-> Int -> IO (VkObjectEntryUsageBitmaskNVX a)
alignment :: VkObjectEntryUsageBitmaskNVX a -> Int
$calignment :: forall (a :: FlagType). VkObjectEntryUsageBitmaskNVX a -> Int
sizeOf :: VkObjectEntryUsageBitmaskNVX a -> Int
$csizeOf :: forall (a :: FlagType). VkObjectEntryUsageBitmaskNVX a -> Int
Storable, Typeable (VkObjectEntryUsageBitmaskNVX a)
DataType
Constr
Typeable (VkObjectEntryUsageBitmaskNVX a)
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g)
    -> VkObjectEntryUsageBitmaskNVX a
    -> c (VkObjectEntryUsageBitmaskNVX a))
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r)
    -> Constr
    -> c (VkObjectEntryUsageBitmaskNVX a))
-> (VkObjectEntryUsageBitmaskNVX a -> Constr)
-> (VkObjectEntryUsageBitmaskNVX a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d))
    -> Maybe (c (VkObjectEntryUsageBitmaskNVX a)))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c (VkObjectEntryUsageBitmaskNVX a)))
-> ((forall b. Data b => b -> b)
    -> VkObjectEntryUsageBitmaskNVX a
    -> VkObjectEntryUsageBitmaskNVX a)
-> (forall r r'.
    (r -> r' -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> VkObjectEntryUsageBitmaskNVX a
    -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> VkObjectEntryUsageBitmaskNVX a
    -> r)
-> (forall u.
    (forall d. Data d => d -> u)
    -> VkObjectEntryUsageBitmaskNVX a -> [u])
-> (forall u.
    Int
    -> (forall d. Data d => d -> u)
    -> VkObjectEntryUsageBitmaskNVX a
    -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> VkObjectEntryUsageBitmaskNVX a
    -> m (VkObjectEntryUsageBitmaskNVX a))
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkObjectEntryUsageBitmaskNVX a
    -> m (VkObjectEntryUsageBitmaskNVX a))
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkObjectEntryUsageBitmaskNVX a
    -> m (VkObjectEntryUsageBitmaskNVX a))
-> Data (VkObjectEntryUsageBitmaskNVX a)
VkObjectEntryUsageBitmaskNVX a -> DataType
VkObjectEntryUsageBitmaskNVX a -> Constr
(forall b. Data b => b -> b)
-> VkObjectEntryUsageBitmaskNVX a -> VkObjectEntryUsageBitmaskNVX a
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkObjectEntryUsageBitmaskNVX a
-> c (VkObjectEntryUsageBitmaskNVX a)
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r)
-> Constr
-> c (VkObjectEntryUsageBitmaskNVX a)
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)
-> VkObjectEntryUsageBitmaskNVX a
-> u
forall u.
(forall d. Data d => d -> u)
-> VkObjectEntryUsageBitmaskNVX a -> [u]
forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkObjectEntryUsageBitmaskNVX a
-> r
forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkObjectEntryUsageBitmaskNVX a
-> r
forall (a :: FlagType).
Typeable a =>
Typeable (VkObjectEntryUsageBitmaskNVX a)
forall (a :: FlagType).
Typeable a =>
VkObjectEntryUsageBitmaskNVX a -> DataType
forall (a :: FlagType).
Typeable a =>
VkObjectEntryUsageBitmaskNVX a -> Constr
forall (a :: FlagType).
Typeable a =>
(forall b. Data b => b -> b)
-> VkObjectEntryUsageBitmaskNVX a -> VkObjectEntryUsageBitmaskNVX a
forall (a :: FlagType) u.
Typeable a =>
Int
-> (forall d. Data d => d -> u)
-> VkObjectEntryUsageBitmaskNVX a
-> u
forall (a :: FlagType) u.
Typeable a =>
(forall d. Data d => d -> u)
-> VkObjectEntryUsageBitmaskNVX a -> [u]
forall (a :: FlagType) r r'.
Typeable a =>
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkObjectEntryUsageBitmaskNVX a
-> r
forall (a :: FlagType) r r'.
Typeable a =>
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkObjectEntryUsageBitmaskNVX a
-> r
forall (a :: FlagType) (m :: * -> *).
(Typeable a, Monad m) =>
(forall d. Data d => d -> m d)
-> VkObjectEntryUsageBitmaskNVX a
-> m (VkObjectEntryUsageBitmaskNVX a)
forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkObjectEntryUsageBitmaskNVX a
-> m (VkObjectEntryUsageBitmaskNVX a)
forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r)
-> Constr
-> c (VkObjectEntryUsageBitmaskNVX a)
forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkObjectEntryUsageBitmaskNVX a
-> c (VkObjectEntryUsageBitmaskNVX a)
forall (a :: FlagType) (t :: * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d. Data d => c (t d))
-> Maybe (c (VkObjectEntryUsageBitmaskNVX a))
forall (a :: FlagType) (t :: * -> * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkObjectEntryUsageBitmaskNVX a))
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkObjectEntryUsageBitmaskNVX a
-> m (VkObjectEntryUsageBitmaskNVX a)
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkObjectEntryUsageBitmaskNVX a
-> m (VkObjectEntryUsageBitmaskNVX a)
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r)
-> Constr
-> c (VkObjectEntryUsageBitmaskNVX a)
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkObjectEntryUsageBitmaskNVX a
-> c (VkObjectEntryUsageBitmaskNVX a)
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d))
-> Maybe (c (VkObjectEntryUsageBitmaskNVX a))
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkObjectEntryUsageBitmaskNVX a))
$cVkObjectEntryUsageBitmaskNVX :: Constr
$tVkObjectEntryUsageBitmaskNVX :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> VkObjectEntryUsageBitmaskNVX a
-> m (VkObjectEntryUsageBitmaskNVX a)
$cgmapMo :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkObjectEntryUsageBitmaskNVX a
-> m (VkObjectEntryUsageBitmaskNVX a)
gmapMp :: (forall d. Data d => d -> m d)
-> VkObjectEntryUsageBitmaskNVX a
-> m (VkObjectEntryUsageBitmaskNVX a)
$cgmapMp :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkObjectEntryUsageBitmaskNVX a
-> m (VkObjectEntryUsageBitmaskNVX a)
gmapM :: (forall d. Data d => d -> m d)
-> VkObjectEntryUsageBitmaskNVX a
-> m (VkObjectEntryUsageBitmaskNVX a)
$cgmapM :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, Monad m) =>
(forall d. Data d => d -> m d)
-> VkObjectEntryUsageBitmaskNVX a
-> m (VkObjectEntryUsageBitmaskNVX a)
gmapQi :: Int
-> (forall d. Data d => d -> u)
-> VkObjectEntryUsageBitmaskNVX a
-> u
$cgmapQi :: forall (a :: FlagType) u.
Typeable a =>
Int
-> (forall d. Data d => d -> u)
-> VkObjectEntryUsageBitmaskNVX a
-> u
gmapQ :: (forall d. Data d => d -> u)
-> VkObjectEntryUsageBitmaskNVX a -> [u]
$cgmapQ :: forall (a :: FlagType) u.
Typeable a =>
(forall d. Data d => d -> u)
-> VkObjectEntryUsageBitmaskNVX a -> [u]
gmapQr :: (r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkObjectEntryUsageBitmaskNVX a
-> r
$cgmapQr :: forall (a :: FlagType) r r'.
Typeable a =>
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkObjectEntryUsageBitmaskNVX a
-> r
gmapQl :: (r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkObjectEntryUsageBitmaskNVX a
-> r
$cgmapQl :: forall (a :: FlagType) r r'.
Typeable a =>
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkObjectEntryUsageBitmaskNVX a
-> r
gmapT :: (forall b. Data b => b -> b)
-> VkObjectEntryUsageBitmaskNVX a -> VkObjectEntryUsageBitmaskNVX a
$cgmapT :: forall (a :: FlagType).
Typeable a =>
(forall b. Data b => b -> b)
-> VkObjectEntryUsageBitmaskNVX a -> VkObjectEntryUsageBitmaskNVX a
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkObjectEntryUsageBitmaskNVX a))
$cdataCast2 :: forall (a :: FlagType) (t :: * -> * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkObjectEntryUsageBitmaskNVX a))
dataCast1 :: (forall d. Data d => c (t d))
-> Maybe (c (VkObjectEntryUsageBitmaskNVX a))
$cdataCast1 :: forall (a :: FlagType) (t :: * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d. Data d => c (t d))
-> Maybe (c (VkObjectEntryUsageBitmaskNVX a))
dataTypeOf :: VkObjectEntryUsageBitmaskNVX a -> DataType
$cdataTypeOf :: forall (a :: FlagType).
Typeable a =>
VkObjectEntryUsageBitmaskNVX a -> DataType
toConstr :: VkObjectEntryUsageBitmaskNVX a -> Constr
$ctoConstr :: forall (a :: FlagType).
Typeable a =>
VkObjectEntryUsageBitmaskNVX a -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r)
-> Constr
-> c (VkObjectEntryUsageBitmaskNVX a)
$cgunfold :: forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r)
-> Constr
-> c (VkObjectEntryUsageBitmaskNVX a)
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkObjectEntryUsageBitmaskNVX a
-> c (VkObjectEntryUsageBitmaskNVX a)
$cgfoldl :: forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkObjectEntryUsageBitmaskNVX a
-> c (VkObjectEntryUsageBitmaskNVX a)
$cp1Data :: forall (a :: FlagType).
Typeable a =>
Typeable (VkObjectEntryUsageBitmaskNVX a)
Data, (forall x.
 VkObjectEntryUsageBitmaskNVX a
 -> Rep (VkObjectEntryUsageBitmaskNVX a) x)
-> (forall x.
    Rep (VkObjectEntryUsageBitmaskNVX a) x
    -> VkObjectEntryUsageBitmaskNVX a)
-> Generic (VkObjectEntryUsageBitmaskNVX a)
forall x.
Rep (VkObjectEntryUsageBitmaskNVX a) x
-> VkObjectEntryUsageBitmaskNVX a
forall x.
VkObjectEntryUsageBitmaskNVX a
-> Rep (VkObjectEntryUsageBitmaskNVX a) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (a :: FlagType) x.
Rep (VkObjectEntryUsageBitmaskNVX a) x
-> VkObjectEntryUsageBitmaskNVX a
forall (a :: FlagType) x.
VkObjectEntryUsageBitmaskNVX a
-> Rep (VkObjectEntryUsageBitmaskNVX a) x
$cto :: forall (a :: FlagType) x.
Rep (VkObjectEntryUsageBitmaskNVX a) x
-> VkObjectEntryUsageBitmaskNVX a
$cfrom :: forall (a :: FlagType) x.
VkObjectEntryUsageBitmaskNVX a
-> Rep (VkObjectEntryUsageBitmaskNVX a) x
Generic)

type VkObjectEntryUsageFlagsNVX =
     VkObjectEntryUsageBitmaskNVX FlagMask

type VkObjectEntryUsageFlagBitsNVX =
     VkObjectEntryUsageBitmaskNVX FlagBit

pattern VkObjectEntryUsageFlagBitsNVX ::
        VkFlags -> VkObjectEntryUsageBitmaskNVX FlagBit

pattern $bVkObjectEntryUsageFlagBitsNVX :: VkFlags -> VkObjectEntryUsageBitmaskNVX FlagBit
$mVkObjectEntryUsageFlagBitsNVX :: forall r.
VkObjectEntryUsageBitmaskNVX FlagBit
-> (VkFlags -> r) -> (Void# -> r) -> r
VkObjectEntryUsageFlagBitsNVX n =
        VkObjectEntryUsageBitmaskNVX n

pattern VkObjectEntryUsageFlagsNVX ::
        VkFlags -> VkObjectEntryUsageBitmaskNVX FlagMask

pattern $bVkObjectEntryUsageFlagsNVX :: VkFlags -> VkObjectEntryUsageBitmaskNVX FlagMask
$mVkObjectEntryUsageFlagsNVX :: forall r.
VkObjectEntryUsageBitmaskNVX FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkObjectEntryUsageFlagsNVX n =
        VkObjectEntryUsageBitmaskNVX n

deriving instance Bits (VkObjectEntryUsageBitmaskNVX FlagMask)

deriving instance
         FiniteBits (VkObjectEntryUsageBitmaskNVX FlagMask)

deriving instance Integral (VkObjectEntryUsageBitmaskNVX FlagMask)

deriving instance Num (VkObjectEntryUsageBitmaskNVX FlagMask)

deriving instance Bounded (VkObjectEntryUsageBitmaskNVX FlagMask)

deriving instance Enum (VkObjectEntryUsageBitmaskNVX FlagMask)

deriving instance Real (VkObjectEntryUsageBitmaskNVX FlagMask)

instance Show (VkObjectEntryUsageBitmaskNVX a) where
        showsPrec :: Int -> VkObjectEntryUsageBitmaskNVX a -> ShowS
showsPrec Int
_ VkObjectEntryUsageBitmaskNVX a
VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX
          = String -> ShowS
showString String
"VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX"
        showsPrec Int
_ VkObjectEntryUsageBitmaskNVX a
VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX
          = String -> ShowS
showString String
"VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX"
        showsPrec Int
p (VkObjectEntryUsageBitmaskNVX VkFlags
x)
          = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
              (String -> ShowS
showString String
"VkObjectEntryUsageBitmaskNVX " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> VkFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 VkFlags
x)

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

-- | bitpos = @0@
pattern VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX ::
        VkObjectEntryUsageBitmaskNVX a

pattern $bVK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX :: VkObjectEntryUsageBitmaskNVX a
$mVK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX :: forall r (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX =
        VkObjectEntryUsageBitmaskNVX 1

-- | bitpos = @1@
pattern VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX ::
        VkObjectEntryUsageBitmaskNVX a

pattern $bVK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX :: VkObjectEntryUsageBitmaskNVX a
$mVK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX :: forall r (a :: FlagType).
VkObjectEntryUsageBitmaskNVX a -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX =
        VkObjectEntryUsageBitmaskNVX 2

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

instance Show VkObjectType where
        showsPrec :: Int -> VkObjectType -> ShowS
showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_UNKNOWN
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_UNKNOWN"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_INSTANCE
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_INSTANCE"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_PHYSICAL_DEVICE
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_PHYSICAL_DEVICE"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_DEVICE
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_DEVICE"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_QUEUE
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_QUEUE"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_SEMAPHORE
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_SEMAPHORE"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_COMMAND_BUFFER
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_COMMAND_BUFFER"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_FENCE
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_FENCE"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_DEVICE_MEMORY
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_DEVICE_MEMORY"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_BUFFER
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_BUFFER"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_IMAGE
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_IMAGE"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_EVENT
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_EVENT"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_QUERY_POOL
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_QUERY_POOL"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_BUFFER_VIEW
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_BUFFER_VIEW"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_IMAGE_VIEW
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_IMAGE_VIEW"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_SHADER_MODULE
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_SHADER_MODULE"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_PIPELINE_CACHE
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_PIPELINE_CACHE"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_PIPELINE_LAYOUT
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_PIPELINE_LAYOUT"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_RENDER_PASS
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_RENDER_PASS"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_PIPELINE
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_PIPELINE"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_SAMPLER
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_SAMPLER"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_DESCRIPTOR_POOL
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_DESCRIPTOR_POOL"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_DESCRIPTOR_SET
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_DESCRIPTOR_SET"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_FRAMEBUFFER
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_FRAMEBUFFER"
        showsPrec Int
_ VkObjectType
VK_OBJECT_TYPE_COMMAND_POOL
          = String -> ShowS
showString String
"VK_OBJECT_TYPE_COMMAND_POOL"
        showsPrec Int
p (VkObjectType Int32
x)
          = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"VkObjectType " 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 VkObjectType where
        readPrec :: ReadPrec VkObjectType
readPrec
          = ReadPrec VkObjectType -> ReadPrec VkObjectType
forall a. ReadPrec a -> ReadPrec a
parens
              ([(String, ReadPrec VkObjectType)] -> ReadPrec VkObjectType
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
                 [(String
"VK_OBJECT_TYPE_UNKNOWN", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_UNKNOWN),
                  (String
"VK_OBJECT_TYPE_INSTANCE", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_INSTANCE),
                  (String
"VK_OBJECT_TYPE_PHYSICAL_DEVICE",
                   VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_PHYSICAL_DEVICE),
                  (String
"VK_OBJECT_TYPE_DEVICE", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_DEVICE),
                  (String
"VK_OBJECT_TYPE_QUEUE", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_QUEUE),
                  (String
"VK_OBJECT_TYPE_SEMAPHORE", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_SEMAPHORE),
                  (String
"VK_OBJECT_TYPE_COMMAND_BUFFER",
                   VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_COMMAND_BUFFER),
                  (String
"VK_OBJECT_TYPE_FENCE", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_FENCE),
                  (String
"VK_OBJECT_TYPE_DEVICE_MEMORY",
                   VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_DEVICE_MEMORY),
                  (String
"VK_OBJECT_TYPE_BUFFER", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_BUFFER),
                  (String
"VK_OBJECT_TYPE_IMAGE", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_IMAGE),
                  (String
"VK_OBJECT_TYPE_EVENT", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_EVENT),
                  (String
"VK_OBJECT_TYPE_QUERY_POOL", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_QUERY_POOL),
                  (String
"VK_OBJECT_TYPE_BUFFER_VIEW", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_BUFFER_VIEW),
                  (String
"VK_OBJECT_TYPE_IMAGE_VIEW", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_IMAGE_VIEW),
                  (String
"VK_OBJECT_TYPE_SHADER_MODULE",
                   VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_SHADER_MODULE),
                  (String
"VK_OBJECT_TYPE_PIPELINE_CACHE",
                   VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_PIPELINE_CACHE),
                  (String
"VK_OBJECT_TYPE_PIPELINE_LAYOUT",
                   VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_PIPELINE_LAYOUT),
                  (String
"VK_OBJECT_TYPE_RENDER_PASS", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_RENDER_PASS),
                  (String
"VK_OBJECT_TYPE_PIPELINE", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_PIPELINE),
                  (String
"VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT",
                   VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT),
                  (String
"VK_OBJECT_TYPE_SAMPLER", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_SAMPLER),
                  (String
"VK_OBJECT_TYPE_DESCRIPTOR_POOL",
                   VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_DESCRIPTOR_POOL),
                  (String
"VK_OBJECT_TYPE_DESCRIPTOR_SET",
                   VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_DESCRIPTOR_SET),
                  (String
"VK_OBJECT_TYPE_FRAMEBUFFER", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_FRAMEBUFFER),
                  (String
"VK_OBJECT_TYPE_COMMAND_POOL", VkObjectType -> ReadPrec VkObjectType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkObjectType
VK_OBJECT_TYPE_COMMAND_POOL)]
                 ReadPrec VkObjectType
-> ReadPrec VkObjectType -> ReadPrec VkObjectType
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                 Int -> ReadPrec VkObjectType -> ReadPrec VkObjectType
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
                   (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkObjectType") ReadPrec () -> ReadPrec VkObjectType -> ReadPrec VkObjectType
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                      (Int32 -> VkObjectType
VkObjectType (Int32 -> VkObjectType) -> ReadPrec Int32 -> ReadPrec VkObjectType
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_OBJECT_TYPE_UNKNOWN :: VkObjectType

pattern $bVK_OBJECT_TYPE_UNKNOWN :: VkObjectType
$mVK_OBJECT_TYPE_UNKNOWN :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_UNKNOWN = VkObjectType 0

-- | VkInstance
pattern VK_OBJECT_TYPE_INSTANCE :: VkObjectType

pattern $bVK_OBJECT_TYPE_INSTANCE :: VkObjectType
$mVK_OBJECT_TYPE_INSTANCE :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_INSTANCE = VkObjectType 1

-- | VkPhysicalDevice
pattern VK_OBJECT_TYPE_PHYSICAL_DEVICE :: VkObjectType

pattern $bVK_OBJECT_TYPE_PHYSICAL_DEVICE :: VkObjectType
$mVK_OBJECT_TYPE_PHYSICAL_DEVICE :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_PHYSICAL_DEVICE = VkObjectType 2

-- | VkDevice
pattern VK_OBJECT_TYPE_DEVICE :: VkObjectType

pattern $bVK_OBJECT_TYPE_DEVICE :: VkObjectType
$mVK_OBJECT_TYPE_DEVICE :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_DEVICE = VkObjectType 3

-- | VkQueue
pattern VK_OBJECT_TYPE_QUEUE :: VkObjectType

pattern $bVK_OBJECT_TYPE_QUEUE :: VkObjectType
$mVK_OBJECT_TYPE_QUEUE :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_QUEUE = VkObjectType 4

-- | VkSemaphore
pattern VK_OBJECT_TYPE_SEMAPHORE :: VkObjectType

pattern $bVK_OBJECT_TYPE_SEMAPHORE :: VkObjectType
$mVK_OBJECT_TYPE_SEMAPHORE :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_SEMAPHORE = VkObjectType 5

-- | VkCommandBuffer
pattern VK_OBJECT_TYPE_COMMAND_BUFFER :: VkObjectType

pattern $bVK_OBJECT_TYPE_COMMAND_BUFFER :: VkObjectType
$mVK_OBJECT_TYPE_COMMAND_BUFFER :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_COMMAND_BUFFER = VkObjectType 6

-- | VkFence
pattern VK_OBJECT_TYPE_FENCE :: VkObjectType

pattern $bVK_OBJECT_TYPE_FENCE :: VkObjectType
$mVK_OBJECT_TYPE_FENCE :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_FENCE = VkObjectType 7

-- | VkDeviceMemory
pattern VK_OBJECT_TYPE_DEVICE_MEMORY :: VkObjectType

pattern $bVK_OBJECT_TYPE_DEVICE_MEMORY :: VkObjectType
$mVK_OBJECT_TYPE_DEVICE_MEMORY :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_DEVICE_MEMORY = VkObjectType 8

-- | VkBuffer
pattern VK_OBJECT_TYPE_BUFFER :: VkObjectType

pattern $bVK_OBJECT_TYPE_BUFFER :: VkObjectType
$mVK_OBJECT_TYPE_BUFFER :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_BUFFER = VkObjectType 9

-- | VkImage
pattern VK_OBJECT_TYPE_IMAGE :: VkObjectType

pattern $bVK_OBJECT_TYPE_IMAGE :: VkObjectType
$mVK_OBJECT_TYPE_IMAGE :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_IMAGE = VkObjectType 10

-- | VkEvent
pattern VK_OBJECT_TYPE_EVENT :: VkObjectType

pattern $bVK_OBJECT_TYPE_EVENT :: VkObjectType
$mVK_OBJECT_TYPE_EVENT :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_EVENT = VkObjectType 11

-- | VkQueryPool
pattern VK_OBJECT_TYPE_QUERY_POOL :: VkObjectType

pattern $bVK_OBJECT_TYPE_QUERY_POOL :: VkObjectType
$mVK_OBJECT_TYPE_QUERY_POOL :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_QUERY_POOL = VkObjectType 12

-- | VkBufferView
pattern VK_OBJECT_TYPE_BUFFER_VIEW :: VkObjectType

pattern $bVK_OBJECT_TYPE_BUFFER_VIEW :: VkObjectType
$mVK_OBJECT_TYPE_BUFFER_VIEW :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_BUFFER_VIEW = VkObjectType 13

-- | VkImageView
pattern VK_OBJECT_TYPE_IMAGE_VIEW :: VkObjectType

pattern $bVK_OBJECT_TYPE_IMAGE_VIEW :: VkObjectType
$mVK_OBJECT_TYPE_IMAGE_VIEW :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_IMAGE_VIEW = VkObjectType 14

-- | VkShaderModule
pattern VK_OBJECT_TYPE_SHADER_MODULE :: VkObjectType

pattern $bVK_OBJECT_TYPE_SHADER_MODULE :: VkObjectType
$mVK_OBJECT_TYPE_SHADER_MODULE :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_SHADER_MODULE = VkObjectType 15

-- | VkPipelineCache
pattern VK_OBJECT_TYPE_PIPELINE_CACHE :: VkObjectType

pattern $bVK_OBJECT_TYPE_PIPELINE_CACHE :: VkObjectType
$mVK_OBJECT_TYPE_PIPELINE_CACHE :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_PIPELINE_CACHE = VkObjectType 16

-- | VkPipelineLayout
pattern VK_OBJECT_TYPE_PIPELINE_LAYOUT :: VkObjectType

pattern $bVK_OBJECT_TYPE_PIPELINE_LAYOUT :: VkObjectType
$mVK_OBJECT_TYPE_PIPELINE_LAYOUT :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_PIPELINE_LAYOUT = VkObjectType 17

-- | VkRenderPass
pattern VK_OBJECT_TYPE_RENDER_PASS :: VkObjectType

pattern $bVK_OBJECT_TYPE_RENDER_PASS :: VkObjectType
$mVK_OBJECT_TYPE_RENDER_PASS :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_RENDER_PASS = VkObjectType 18

-- | VkPipeline
pattern VK_OBJECT_TYPE_PIPELINE :: VkObjectType

pattern $bVK_OBJECT_TYPE_PIPELINE :: VkObjectType
$mVK_OBJECT_TYPE_PIPELINE :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_PIPELINE = VkObjectType 19

-- | VkDescriptorSetLayout
pattern VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: VkObjectType

pattern $bVK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: VkObjectType
$mVK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = VkObjectType 20

-- | VkSampler
pattern VK_OBJECT_TYPE_SAMPLER :: VkObjectType

pattern $bVK_OBJECT_TYPE_SAMPLER :: VkObjectType
$mVK_OBJECT_TYPE_SAMPLER :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_SAMPLER = VkObjectType 21

-- | VkDescriptorPool
pattern VK_OBJECT_TYPE_DESCRIPTOR_POOL :: VkObjectType

pattern $bVK_OBJECT_TYPE_DESCRIPTOR_POOL :: VkObjectType
$mVK_OBJECT_TYPE_DESCRIPTOR_POOL :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_DESCRIPTOR_POOL = VkObjectType 22

-- | VkDescriptorSet
pattern VK_OBJECT_TYPE_DESCRIPTOR_SET :: VkObjectType

pattern $bVK_OBJECT_TYPE_DESCRIPTOR_SET :: VkObjectType
$mVK_OBJECT_TYPE_DESCRIPTOR_SET :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_DESCRIPTOR_SET = VkObjectType 23

-- | VkFramebuffer
pattern VK_OBJECT_TYPE_FRAMEBUFFER :: VkObjectType

pattern $bVK_OBJECT_TYPE_FRAMEBUFFER :: VkObjectType
$mVK_OBJECT_TYPE_FRAMEBUFFER :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_FRAMEBUFFER = VkObjectType 24

-- | VkCommandPool
pattern VK_OBJECT_TYPE_COMMAND_POOL :: VkObjectType

pattern $bVK_OBJECT_TYPE_COMMAND_POOL :: VkObjectType
$mVK_OBJECT_TYPE_COMMAND_POOL :: forall r. VkObjectType -> (Void# -> r) -> (Void# -> r) -> r
VK_OBJECT_TYPE_COMMAND_POOL = VkObjectType 25