{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PatternSynonyms            #-}
{-# LANGUAGE Strict                     #-}
module Graphics.Vulkan.Types.Enum.PointClippingBehavior
       (VkPointClippingBehavior(VkPointClippingBehavior,
                                VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
                                VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY),
        VkPointClippingBehaviorKHR(..))
       where
import Data.Bits                       (Bits, FiniteBits)
import Data.Coerce                     (coerce)
import Foreign.Storable                (Storable)
import GHC.Read                        (choose, expectP)
import Graphics.Vulkan.Marshal         (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.2-extensions/html/vkspec.html#VkPointClippingBehavior VkPointClippingBehavior registry at www.khronos.org>
newtype VkPointClippingBehavior = VkPointClippingBehavior Int32
                                  deriving (VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
(VkPointClippingBehavior -> VkPointClippingBehavior -> Bool)
-> (VkPointClippingBehavior -> VkPointClippingBehavior -> Bool)
-> Eq VkPointClippingBehavior
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
$c/= :: VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
== :: VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
$c== :: VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
Eq, Eq VkPointClippingBehavior
Eq VkPointClippingBehavior
-> (VkPointClippingBehavior -> VkPointClippingBehavior -> Ordering)
-> (VkPointClippingBehavior -> VkPointClippingBehavior -> Bool)
-> (VkPointClippingBehavior -> VkPointClippingBehavior -> Bool)
-> (VkPointClippingBehavior -> VkPointClippingBehavior -> Bool)
-> (VkPointClippingBehavior -> VkPointClippingBehavior -> Bool)
-> (VkPointClippingBehavior
    -> VkPointClippingBehavior -> VkPointClippingBehavior)
-> (VkPointClippingBehavior
    -> VkPointClippingBehavior -> VkPointClippingBehavior)
-> Ord VkPointClippingBehavior
VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
VkPointClippingBehavior -> VkPointClippingBehavior -> Ordering
VkPointClippingBehavior
-> VkPointClippingBehavior -> VkPointClippingBehavior
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 :: VkPointClippingBehavior
-> VkPointClippingBehavior -> VkPointClippingBehavior
$cmin :: VkPointClippingBehavior
-> VkPointClippingBehavior -> VkPointClippingBehavior
max :: VkPointClippingBehavior
-> VkPointClippingBehavior -> VkPointClippingBehavior
$cmax :: VkPointClippingBehavior
-> VkPointClippingBehavior -> VkPointClippingBehavior
>= :: VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
$c>= :: VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
> :: VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
$c> :: VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
<= :: VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
$c<= :: VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
< :: VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
$c< :: VkPointClippingBehavior -> VkPointClippingBehavior -> Bool
compare :: VkPointClippingBehavior -> VkPointClippingBehavior -> Ordering
$ccompare :: VkPointClippingBehavior -> VkPointClippingBehavior -> Ordering
Ord, Int -> VkPointClippingBehavior
VkPointClippingBehavior -> Int
VkPointClippingBehavior -> [VkPointClippingBehavior]
VkPointClippingBehavior -> VkPointClippingBehavior
VkPointClippingBehavior
-> VkPointClippingBehavior -> [VkPointClippingBehavior]
VkPointClippingBehavior
-> VkPointClippingBehavior
-> VkPointClippingBehavior
-> [VkPointClippingBehavior]
(VkPointClippingBehavior -> VkPointClippingBehavior)
-> (VkPointClippingBehavior -> VkPointClippingBehavior)
-> (Int -> VkPointClippingBehavior)
-> (VkPointClippingBehavior -> Int)
-> (VkPointClippingBehavior -> [VkPointClippingBehavior])
-> (VkPointClippingBehavior
    -> VkPointClippingBehavior -> [VkPointClippingBehavior])
-> (VkPointClippingBehavior
    -> VkPointClippingBehavior -> [VkPointClippingBehavior])
-> (VkPointClippingBehavior
    -> VkPointClippingBehavior
    -> VkPointClippingBehavior
    -> [VkPointClippingBehavior])
-> Enum VkPointClippingBehavior
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 :: VkPointClippingBehavior
-> VkPointClippingBehavior
-> VkPointClippingBehavior
-> [VkPointClippingBehavior]
$cenumFromThenTo :: VkPointClippingBehavior
-> VkPointClippingBehavior
-> VkPointClippingBehavior
-> [VkPointClippingBehavior]
enumFromTo :: VkPointClippingBehavior
-> VkPointClippingBehavior -> [VkPointClippingBehavior]
$cenumFromTo :: VkPointClippingBehavior
-> VkPointClippingBehavior -> [VkPointClippingBehavior]
enumFromThen :: VkPointClippingBehavior
-> VkPointClippingBehavior -> [VkPointClippingBehavior]
$cenumFromThen :: VkPointClippingBehavior
-> VkPointClippingBehavior -> [VkPointClippingBehavior]
enumFrom :: VkPointClippingBehavior -> [VkPointClippingBehavior]
$cenumFrom :: VkPointClippingBehavior -> [VkPointClippingBehavior]
fromEnum :: VkPointClippingBehavior -> Int
$cfromEnum :: VkPointClippingBehavior -> Int
toEnum :: Int -> VkPointClippingBehavior
$ctoEnum :: Int -> VkPointClippingBehavior
pred :: VkPointClippingBehavior -> VkPointClippingBehavior
$cpred :: VkPointClippingBehavior -> VkPointClippingBehavior
succ :: VkPointClippingBehavior -> VkPointClippingBehavior
$csucc :: VkPointClippingBehavior -> VkPointClippingBehavior
Enum, Ptr VkPointClippingBehavior -> IO VkPointClippingBehavior
Ptr VkPointClippingBehavior -> Int -> IO VkPointClippingBehavior
Ptr VkPointClippingBehavior
-> Int -> VkPointClippingBehavior -> IO ()
Ptr VkPointClippingBehavior -> VkPointClippingBehavior -> IO ()
VkPointClippingBehavior -> Int
(VkPointClippingBehavior -> Int)
-> (VkPointClippingBehavior -> Int)
-> (Ptr VkPointClippingBehavior
    -> Int -> IO VkPointClippingBehavior)
-> (Ptr VkPointClippingBehavior
    -> Int -> VkPointClippingBehavior -> IO ())
-> (forall b. Ptr b -> Int -> IO VkPointClippingBehavior)
-> (forall b. Ptr b -> Int -> VkPointClippingBehavior -> IO ())
-> (Ptr VkPointClippingBehavior -> IO VkPointClippingBehavior)
-> (Ptr VkPointClippingBehavior
    -> VkPointClippingBehavior -> IO ())
-> Storable VkPointClippingBehavior
forall b. Ptr b -> Int -> IO VkPointClippingBehavior
forall b. Ptr b -> Int -> VkPointClippingBehavior -> 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 VkPointClippingBehavior -> VkPointClippingBehavior -> IO ()
$cpoke :: Ptr VkPointClippingBehavior -> VkPointClippingBehavior -> IO ()
peek :: Ptr VkPointClippingBehavior -> IO VkPointClippingBehavior
$cpeek :: Ptr VkPointClippingBehavior -> IO VkPointClippingBehavior
pokeByteOff :: forall b. Ptr b -> Int -> VkPointClippingBehavior -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkPointClippingBehavior -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkPointClippingBehavior
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkPointClippingBehavior
pokeElemOff :: Ptr VkPointClippingBehavior
-> Int -> VkPointClippingBehavior -> IO ()
$cpokeElemOff :: Ptr VkPointClippingBehavior
-> Int -> VkPointClippingBehavior -> IO ()
peekElemOff :: Ptr VkPointClippingBehavior -> Int -> IO VkPointClippingBehavior
$cpeekElemOff :: Ptr VkPointClippingBehavior -> Int -> IO VkPointClippingBehavior
alignment :: VkPointClippingBehavior -> Int
$calignment :: VkPointClippingBehavior -> Int
sizeOf :: VkPointClippingBehavior -> Int
$csizeOf :: VkPointClippingBehavior -> Int
Storable)

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

pattern $bVK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES :: VkPointClippingBehavior
$mVK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES :: forall {r}.
VkPointClippingBehavior -> (Void# -> r) -> (Void# -> r) -> r
VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES =
        VkPointClippingBehavior 0

pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY ::
        VkPointClippingBehavior

pattern $bVK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY :: VkPointClippingBehavior
$mVK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY :: forall {r}.
VkPointClippingBehavior -> (Void# -> r) -> (Void# -> r) -> r
VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY =
        VkPointClippingBehavior 1

newtype VkPointClippingBehaviorKHR = VkPointClippingBehaviorKHR VkFlags
                                     deriving (VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
(VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool)
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> Bool)
-> Eq VkPointClippingBehaviorKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
$c/= :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
== :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
$c== :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
Eq, Eq VkPointClippingBehaviorKHR
Eq VkPointClippingBehaviorKHR
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> Ordering)
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> Bool)
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> Bool)
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> Bool)
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> Bool)
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR)
-> Ord VkPointClippingBehaviorKHR
VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> Ordering
VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
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 :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
$cmin :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
max :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
$cmax :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
>= :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
$c>= :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
> :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
$c> :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
<= :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
$c<= :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
< :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
$c< :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR -> Bool
compare :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> Ordering
$ccompare :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> Ordering
Ord, Int -> VkPointClippingBehaviorKHR
VkPointClippingBehaviorKHR -> Int
VkPointClippingBehaviorKHR -> [VkPointClippingBehaviorKHR]
VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> [VkPointClippingBehaviorKHR]
VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR
-> [VkPointClippingBehaviorKHR]
(VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR)
-> (Int -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR -> Int)
-> (VkPointClippingBehaviorKHR -> [VkPointClippingBehaviorKHR])
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> [VkPointClippingBehaviorKHR])
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> [VkPointClippingBehaviorKHR])
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR
    -> [VkPointClippingBehaviorKHR])
-> Enum VkPointClippingBehaviorKHR
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 :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR
-> [VkPointClippingBehaviorKHR]
$cenumFromThenTo :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR
-> [VkPointClippingBehaviorKHR]
enumFromTo :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> [VkPointClippingBehaviorKHR]
$cenumFromTo :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> [VkPointClippingBehaviorKHR]
enumFromThen :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> [VkPointClippingBehaviorKHR]
$cenumFromThen :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> [VkPointClippingBehaviorKHR]
enumFrom :: VkPointClippingBehaviorKHR -> [VkPointClippingBehaviorKHR]
$cenumFrom :: VkPointClippingBehaviorKHR -> [VkPointClippingBehaviorKHR]
fromEnum :: VkPointClippingBehaviorKHR -> Int
$cfromEnum :: VkPointClippingBehaviorKHR -> Int
toEnum :: Int -> VkPointClippingBehaviorKHR
$ctoEnum :: Int -> VkPointClippingBehaviorKHR
pred :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
$cpred :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
succ :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
$csucc :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
Enum, Eq VkPointClippingBehaviorKHR
VkPointClippingBehaviorKHR
Eq VkPointClippingBehaviorKHR
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR
    -> Int -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR
    -> Int -> VkPointClippingBehaviorKHR)
-> VkPointClippingBehaviorKHR
-> (Int -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR
    -> Int -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR
    -> Int -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR
    -> Int -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR -> Int -> Bool)
-> (VkPointClippingBehaviorKHR -> Maybe Int)
-> (VkPointClippingBehaviorKHR -> Int)
-> (VkPointClippingBehaviorKHR -> Bool)
-> (VkPointClippingBehaviorKHR
    -> Int -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR
    -> Int -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR
    -> Int -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR
    -> Int -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR
    -> Int -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR
    -> Int -> VkPointClippingBehaviorKHR)
-> (VkPointClippingBehaviorKHR -> Int)
-> Bits VkPointClippingBehaviorKHR
Int -> VkPointClippingBehaviorKHR
VkPointClippingBehaviorKHR -> Bool
VkPointClippingBehaviorKHR -> Int
VkPointClippingBehaviorKHR -> Maybe Int
VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
VkPointClippingBehaviorKHR -> Int -> Bool
VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
forall a.
Eq a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
popCount :: VkPointClippingBehaviorKHR -> Int
$cpopCount :: VkPointClippingBehaviorKHR -> Int
rotateR :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
$crotateR :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
rotateL :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
$crotateL :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
unsafeShiftR :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
$cunsafeShiftR :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
shiftR :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
$cshiftR :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
unsafeShiftL :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
$cunsafeShiftL :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
shiftL :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
$cshiftL :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
isSigned :: VkPointClippingBehaviorKHR -> Bool
$cisSigned :: VkPointClippingBehaviorKHR -> Bool
bitSize :: VkPointClippingBehaviorKHR -> Int
$cbitSize :: VkPointClippingBehaviorKHR -> Int
bitSizeMaybe :: VkPointClippingBehaviorKHR -> Maybe Int
$cbitSizeMaybe :: VkPointClippingBehaviorKHR -> Maybe Int
testBit :: VkPointClippingBehaviorKHR -> Int -> Bool
$ctestBit :: VkPointClippingBehaviorKHR -> Int -> Bool
complementBit :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
$ccomplementBit :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
clearBit :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
$cclearBit :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
setBit :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
$csetBit :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
bit :: Int -> VkPointClippingBehaviorKHR
$cbit :: Int -> VkPointClippingBehaviorKHR
zeroBits :: VkPointClippingBehaviorKHR
$czeroBits :: VkPointClippingBehaviorKHR
rotate :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
$crotate :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
shift :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
$cshift :: VkPointClippingBehaviorKHR -> Int -> VkPointClippingBehaviorKHR
complement :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
$ccomplement :: VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
xor :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
$cxor :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
.|. :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
$c.|. :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
.&. :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
$c.&. :: VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> VkPointClippingBehaviorKHR
Bits, Bits VkPointClippingBehaviorKHR
Bits VkPointClippingBehaviorKHR
-> (VkPointClippingBehaviorKHR -> Int)
-> (VkPointClippingBehaviorKHR -> Int)
-> (VkPointClippingBehaviorKHR -> Int)
-> FiniteBits VkPointClippingBehaviorKHR
VkPointClippingBehaviorKHR -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: VkPointClippingBehaviorKHR -> Int
$ccountTrailingZeros :: VkPointClippingBehaviorKHR -> Int
countLeadingZeros :: VkPointClippingBehaviorKHR -> Int
$ccountLeadingZeros :: VkPointClippingBehaviorKHR -> Int
finiteBitSize :: VkPointClippingBehaviorKHR -> Int
$cfiniteBitSize :: VkPointClippingBehaviorKHR -> Int
FiniteBits, Ptr VkPointClippingBehaviorKHR -> IO VkPointClippingBehaviorKHR
Ptr VkPointClippingBehaviorKHR
-> Int -> IO VkPointClippingBehaviorKHR
Ptr VkPointClippingBehaviorKHR
-> Int -> VkPointClippingBehaviorKHR -> IO ()
Ptr VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> IO ()
VkPointClippingBehaviorKHR -> Int
(VkPointClippingBehaviorKHR -> Int)
-> (VkPointClippingBehaviorKHR -> Int)
-> (Ptr VkPointClippingBehaviorKHR
    -> Int -> IO VkPointClippingBehaviorKHR)
-> (Ptr VkPointClippingBehaviorKHR
    -> Int -> VkPointClippingBehaviorKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO VkPointClippingBehaviorKHR)
-> (forall b. Ptr b -> Int -> VkPointClippingBehaviorKHR -> IO ())
-> (Ptr VkPointClippingBehaviorKHR
    -> IO VkPointClippingBehaviorKHR)
-> (Ptr VkPointClippingBehaviorKHR
    -> VkPointClippingBehaviorKHR -> IO ())
-> Storable VkPointClippingBehaviorKHR
forall b. Ptr b -> Int -> IO VkPointClippingBehaviorKHR
forall b. Ptr b -> Int -> VkPointClippingBehaviorKHR -> 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 VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> IO ()
$cpoke :: Ptr VkPointClippingBehaviorKHR
-> VkPointClippingBehaviorKHR -> IO ()
peek :: Ptr VkPointClippingBehaviorKHR -> IO VkPointClippingBehaviorKHR
$cpeek :: Ptr VkPointClippingBehaviorKHR -> IO VkPointClippingBehaviorKHR
pokeByteOff :: forall b. Ptr b -> Int -> VkPointClippingBehaviorKHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkPointClippingBehaviorKHR -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkPointClippingBehaviorKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkPointClippingBehaviorKHR
pokeElemOff :: Ptr VkPointClippingBehaviorKHR
-> Int -> VkPointClippingBehaviorKHR -> IO ()
$cpokeElemOff :: Ptr VkPointClippingBehaviorKHR
-> Int -> VkPointClippingBehaviorKHR -> IO ()
peekElemOff :: Ptr VkPointClippingBehaviorKHR
-> Int -> IO VkPointClippingBehaviorKHR
$cpeekElemOff :: Ptr VkPointClippingBehaviorKHR
-> Int -> IO VkPointClippingBehaviorKHR
alignment :: VkPointClippingBehaviorKHR -> Int
$calignment :: VkPointClippingBehaviorKHR -> Int
sizeOf :: VkPointClippingBehaviorKHR -> Int
$csizeOf :: VkPointClippingBehaviorKHR -> Int
Storable)

instance Show VkPointClippingBehaviorKHR where
    {-# INLINE showsPrec #-}
    showsPrec :: Int -> VkPointClippingBehaviorKHR -> ShowS
showsPrec = (Int -> VkFlags -> ShowS)
-> Int -> VkPointClippingBehaviorKHR -> ShowS
coerce (Int -> VkFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec :: Int -> VkFlags -> ShowS)

instance Read VkPointClippingBehaviorKHR where
    {-# INLINE readsPrec #-}
    readsPrec :: Int -> ReadS VkPointClippingBehaviorKHR
readsPrec = (Int -> ReadS VkFlags) -> Int -> ReadS VkPointClippingBehaviorKHR
coerce (Int -> ReadS VkFlags
forall a. Read a => Int -> ReadS a
readsPrec :: Int -> ReadS VkFlags)