{-# 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.Attachment
       (VkAttachmentDescriptionBitmask(VkAttachmentDescriptionBitmask,
                                       VkAttachmentDescriptionFlags,
                                       VkAttachmentDescriptionFlagBits,
                                       VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT),
        VkAttachmentDescriptionFlags, VkAttachmentDescriptionFlagBits,
        VkAttachmentLoadOp(VkAttachmentLoadOp, VK_ATTACHMENT_LOAD_OP_LOAD,
                           VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_LOAD_OP_DONT_CARE),
        VkAttachmentStoreOp(VkAttachmentStoreOp,
                            VK_ATTACHMENT_STORE_OP_STORE, VK_ATTACHMENT_STORE_OP_DONT_CARE))
       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 (..))

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

type VkAttachmentDescriptionFlags =
     VkAttachmentDescriptionBitmask FlagMask

type VkAttachmentDescriptionFlagBits =
     VkAttachmentDescriptionBitmask FlagBit

pattern VkAttachmentDescriptionFlagBits ::
        VkFlags -> VkAttachmentDescriptionBitmask FlagBit

pattern $bVkAttachmentDescriptionFlagBits :: VkFlags -> VkAttachmentDescriptionBitmask FlagBit
$mVkAttachmentDescriptionFlagBits :: forall r.
VkAttachmentDescriptionBitmask FlagBit
-> (VkFlags -> r) -> (Void# -> r) -> r
VkAttachmentDescriptionFlagBits n =
        VkAttachmentDescriptionBitmask n

pattern VkAttachmentDescriptionFlags ::
        VkFlags -> VkAttachmentDescriptionBitmask FlagMask

pattern $bVkAttachmentDescriptionFlags :: VkFlags -> VkAttachmentDescriptionBitmask FlagMask
$mVkAttachmentDescriptionFlags :: forall r.
VkAttachmentDescriptionBitmask FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkAttachmentDescriptionFlags n =
        VkAttachmentDescriptionBitmask n

deriving instance Bits (VkAttachmentDescriptionBitmask FlagMask)

deriving instance
         FiniteBits (VkAttachmentDescriptionBitmask FlagMask)

deriving instance
         Integral (VkAttachmentDescriptionBitmask FlagMask)

deriving instance Num (VkAttachmentDescriptionBitmask FlagMask)

deriving instance Bounded (VkAttachmentDescriptionBitmask FlagMask)

deriving instance Enum (VkAttachmentDescriptionBitmask FlagMask)

deriving instance Real (VkAttachmentDescriptionBitmask FlagMask)

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

-- | The attachment may alias physical memory of another attachment in the same render pass
--
--   bitpos = @0@
pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT ::
        VkAttachmentDescriptionBitmask a

pattern $bVK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT :: VkAttachmentDescriptionBitmask a
$mVK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT :: forall r (a :: FlagType).
VkAttachmentDescriptionBitmask a
-> (Void# -> r) -> (Void# -> r) -> r
VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT =
        VkAttachmentDescriptionBitmask 1

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

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

pattern $bVK_ATTACHMENT_LOAD_OP_LOAD :: VkAttachmentLoadOp
$mVK_ATTACHMENT_LOAD_OP_LOAD :: forall r. VkAttachmentLoadOp -> (Void# -> r) -> (Void# -> r) -> r
VK_ATTACHMENT_LOAD_OP_LOAD = VkAttachmentLoadOp 0

pattern VK_ATTACHMENT_LOAD_OP_CLEAR :: VkAttachmentLoadOp

pattern $bVK_ATTACHMENT_LOAD_OP_CLEAR :: VkAttachmentLoadOp
$mVK_ATTACHMENT_LOAD_OP_CLEAR :: forall r. VkAttachmentLoadOp -> (Void# -> r) -> (Void# -> r) -> r
VK_ATTACHMENT_LOAD_OP_CLEAR = VkAttachmentLoadOp 1

pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE :: VkAttachmentLoadOp

pattern $bVK_ATTACHMENT_LOAD_OP_DONT_CARE :: VkAttachmentLoadOp
$mVK_ATTACHMENT_LOAD_OP_DONT_CARE :: forall r. VkAttachmentLoadOp -> (Void# -> r) -> (Void# -> r) -> r
VK_ATTACHMENT_LOAD_OP_DONT_CARE = VkAttachmentLoadOp 2

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

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

pattern $bVK_ATTACHMENT_STORE_OP_STORE :: VkAttachmentStoreOp
$mVK_ATTACHMENT_STORE_OP_STORE :: forall r. VkAttachmentStoreOp -> (Void# -> r) -> (Void# -> r) -> r
VK_ATTACHMENT_STORE_OP_STORE = VkAttachmentStoreOp 0

pattern VK_ATTACHMENT_STORE_OP_DONT_CARE :: VkAttachmentStoreOp

pattern $bVK_ATTACHMENT_STORE_OP_DONT_CARE :: VkAttachmentStoreOp
$mVK_ATTACHMENT_STORE_OP_DONT_CARE :: forall r. VkAttachmentStoreOp -> (Void# -> r) -> (Void# -> r) -> r
VK_ATTACHMENT_STORE_OP_DONT_CARE = VkAttachmentStoreOp 1