{-# language CPP #-}
module Vulkan.Core13.Enums.ToolPurposeFlagBits ( pattern TOOL_PURPOSE_VALIDATION_BIT_EXT
, pattern TOOL_PURPOSE_PROFILING_BIT_EXT
, pattern TOOL_PURPOSE_TRACING_BIT_EXT
, pattern TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT
, pattern TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT
, ToolPurposeFlags
, ToolPurposeFlagBits( TOOL_PURPOSE_VALIDATION_BIT
, TOOL_PURPOSE_PROFILING_BIT
, TOOL_PURPOSE_TRACING_BIT
, TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT
, TOOL_PURPOSE_MODIFYING_FEATURES_BIT
, TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
, TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT
, ..
)
) where
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.Zero (Zero)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Vulkan.Core10.FundamentalTypes (Flags)
pattern $bTOOL_PURPOSE_VALIDATION_BIT_EXT :: ToolPurposeFlagBits
$mTOOL_PURPOSE_VALIDATION_BIT_EXT :: forall {r}.
ToolPurposeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
TOOL_PURPOSE_VALIDATION_BIT_EXT = TOOL_PURPOSE_VALIDATION_BIT
pattern $bTOOL_PURPOSE_PROFILING_BIT_EXT :: ToolPurposeFlagBits
$mTOOL_PURPOSE_PROFILING_BIT_EXT :: forall {r}.
ToolPurposeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
TOOL_PURPOSE_PROFILING_BIT_EXT = TOOL_PURPOSE_PROFILING_BIT
pattern $bTOOL_PURPOSE_TRACING_BIT_EXT :: ToolPurposeFlagBits
$mTOOL_PURPOSE_TRACING_BIT_EXT :: forall {r}.
ToolPurposeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
TOOL_PURPOSE_TRACING_BIT_EXT = TOOL_PURPOSE_TRACING_BIT
pattern $bTOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT :: ToolPurposeFlagBits
$mTOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT :: forall {r}.
ToolPurposeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT
pattern $bTOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT :: ToolPurposeFlagBits
$mTOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT :: forall {r}.
ToolPurposeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = TOOL_PURPOSE_MODIFYING_FEATURES_BIT
type ToolPurposeFlags = ToolPurposeFlagBits
newtype ToolPurposeFlagBits = ToolPurposeFlagBits Flags
deriving newtype (ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
$c/= :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
== :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
$c== :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
Eq, Eq ToolPurposeFlagBits
ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
ToolPurposeFlagBits -> ToolPurposeFlagBits -> Ordering
ToolPurposeFlagBits -> ToolPurposeFlagBits -> ToolPurposeFlagBits
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 :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> ToolPurposeFlagBits
$cmin :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> ToolPurposeFlagBits
max :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> ToolPurposeFlagBits
$cmax :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> ToolPurposeFlagBits
>= :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
$c>= :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
> :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
$c> :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
<= :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
$c<= :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
< :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
$c< :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Bool
compare :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Ordering
$ccompare :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> Ordering
Ord, Ptr ToolPurposeFlagBits -> IO ToolPurposeFlagBits
Ptr ToolPurposeFlagBits -> Int -> IO ToolPurposeFlagBits
Ptr ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits -> IO ()
Ptr ToolPurposeFlagBits -> ToolPurposeFlagBits -> IO ()
ToolPurposeFlagBits -> Int
forall b. Ptr b -> Int -> IO ToolPurposeFlagBits
forall b. Ptr b -> Int -> ToolPurposeFlagBits -> 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 ToolPurposeFlagBits -> ToolPurposeFlagBits -> IO ()
$cpoke :: Ptr ToolPurposeFlagBits -> ToolPurposeFlagBits -> IO ()
peek :: Ptr ToolPurposeFlagBits -> IO ToolPurposeFlagBits
$cpeek :: Ptr ToolPurposeFlagBits -> IO ToolPurposeFlagBits
pokeByteOff :: forall b. Ptr b -> Int -> ToolPurposeFlagBits -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ToolPurposeFlagBits -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO ToolPurposeFlagBits
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ToolPurposeFlagBits
pokeElemOff :: Ptr ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits -> IO ()
$cpokeElemOff :: Ptr ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits -> IO ()
peekElemOff :: Ptr ToolPurposeFlagBits -> Int -> IO ToolPurposeFlagBits
$cpeekElemOff :: Ptr ToolPurposeFlagBits -> Int -> IO ToolPurposeFlagBits
alignment :: ToolPurposeFlagBits -> Int
$calignment :: ToolPurposeFlagBits -> Int
sizeOf :: ToolPurposeFlagBits -> Int
$csizeOf :: ToolPurposeFlagBits -> Int
Storable, ToolPurposeFlagBits
forall a. a -> Zero a
zero :: ToolPurposeFlagBits
$czero :: ToolPurposeFlagBits
Zero, Eq ToolPurposeFlagBits
ToolPurposeFlagBits
Int -> ToolPurposeFlagBits
ToolPurposeFlagBits -> Bool
ToolPurposeFlagBits -> Int
ToolPurposeFlagBits -> Maybe Int
ToolPurposeFlagBits -> ToolPurposeFlagBits
ToolPurposeFlagBits -> Int -> Bool
ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
ToolPurposeFlagBits -> ToolPurposeFlagBits -> ToolPurposeFlagBits
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 :: ToolPurposeFlagBits -> Int
$cpopCount :: ToolPurposeFlagBits -> Int
rotateR :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
$crotateR :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
rotateL :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
$crotateL :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
unsafeShiftR :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
$cunsafeShiftR :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
shiftR :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
$cshiftR :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
unsafeShiftL :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
$cunsafeShiftL :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
shiftL :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
$cshiftL :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
isSigned :: ToolPurposeFlagBits -> Bool
$cisSigned :: ToolPurposeFlagBits -> Bool
bitSize :: ToolPurposeFlagBits -> Int
$cbitSize :: ToolPurposeFlagBits -> Int
bitSizeMaybe :: ToolPurposeFlagBits -> Maybe Int
$cbitSizeMaybe :: ToolPurposeFlagBits -> Maybe Int
testBit :: ToolPurposeFlagBits -> Int -> Bool
$ctestBit :: ToolPurposeFlagBits -> Int -> Bool
complementBit :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
$ccomplementBit :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
clearBit :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
$cclearBit :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
setBit :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
$csetBit :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
bit :: Int -> ToolPurposeFlagBits
$cbit :: Int -> ToolPurposeFlagBits
zeroBits :: ToolPurposeFlagBits
$czeroBits :: ToolPurposeFlagBits
rotate :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
$crotate :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
shift :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
$cshift :: ToolPurposeFlagBits -> Int -> ToolPurposeFlagBits
complement :: ToolPurposeFlagBits -> ToolPurposeFlagBits
$ccomplement :: ToolPurposeFlagBits -> ToolPurposeFlagBits
xor :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> ToolPurposeFlagBits
$cxor :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> ToolPurposeFlagBits
.|. :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> ToolPurposeFlagBits
$c.|. :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> ToolPurposeFlagBits
.&. :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> ToolPurposeFlagBits
$c.&. :: ToolPurposeFlagBits -> ToolPurposeFlagBits -> ToolPurposeFlagBits
Bits, Bits ToolPurposeFlagBits
ToolPurposeFlagBits -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ToolPurposeFlagBits -> Int
$ccountTrailingZeros :: ToolPurposeFlagBits -> Int
countLeadingZeros :: ToolPurposeFlagBits -> Int
$ccountLeadingZeros :: ToolPurposeFlagBits -> Int
finiteBitSize :: ToolPurposeFlagBits -> Int
$cfiniteBitSize :: ToolPurposeFlagBits -> Int
FiniteBits)
pattern $bTOOL_PURPOSE_VALIDATION_BIT :: ToolPurposeFlagBits
$mTOOL_PURPOSE_VALIDATION_BIT :: forall {r}.
ToolPurposeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
TOOL_PURPOSE_VALIDATION_BIT = ToolPurposeFlagBits 0x00000001
pattern $bTOOL_PURPOSE_PROFILING_BIT :: ToolPurposeFlagBits
$mTOOL_PURPOSE_PROFILING_BIT :: forall {r}.
ToolPurposeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
TOOL_PURPOSE_PROFILING_BIT = ToolPurposeFlagBits 0x00000002
pattern $bTOOL_PURPOSE_TRACING_BIT :: ToolPurposeFlagBits
$mTOOL_PURPOSE_TRACING_BIT :: forall {r}.
ToolPurposeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
TOOL_PURPOSE_TRACING_BIT = ToolPurposeFlagBits 0x00000004
pattern $bTOOL_PURPOSE_ADDITIONAL_FEATURES_BIT :: ToolPurposeFlagBits
$mTOOL_PURPOSE_ADDITIONAL_FEATURES_BIT :: forall {r}.
ToolPurposeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = ToolPurposeFlagBits 0x00000008
pattern $bTOOL_PURPOSE_MODIFYING_FEATURES_BIT :: ToolPurposeFlagBits
$mTOOL_PURPOSE_MODIFYING_FEATURES_BIT :: forall {r}.
ToolPurposeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
TOOL_PURPOSE_MODIFYING_FEATURES_BIT = ToolPurposeFlagBits 0x00000010
pattern $bTOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT :: ToolPurposeFlagBits
$mTOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT :: forall {r}.
ToolPurposeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = ToolPurposeFlagBits 0x00000040
pattern $bTOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT :: ToolPurposeFlagBits
$mTOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT :: forall {r}.
ToolPurposeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = ToolPurposeFlagBits 0x00000020
conNameToolPurposeFlagBits :: String
conNameToolPurposeFlagBits :: String
conNameToolPurposeFlagBits = String
"ToolPurposeFlagBits"
enumPrefixToolPurposeFlagBits :: String
enumPrefixToolPurposeFlagBits :: String
enumPrefixToolPurposeFlagBits = String
"TOOL_PURPOSE_"
showTableToolPurposeFlagBits :: [(ToolPurposeFlagBits, String)]
showTableToolPurposeFlagBits :: [(ToolPurposeFlagBits, String)]
showTableToolPurposeFlagBits =
[ (ToolPurposeFlagBits
TOOL_PURPOSE_VALIDATION_BIT, String
"VALIDATION_BIT")
, (ToolPurposeFlagBits
TOOL_PURPOSE_PROFILING_BIT, String
"PROFILING_BIT")
, (ToolPurposeFlagBits
TOOL_PURPOSE_TRACING_BIT, String
"TRACING_BIT")
,
( ToolPurposeFlagBits
TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT
, String
"ADDITIONAL_FEATURES_BIT"
)
,
( ToolPurposeFlagBits
TOOL_PURPOSE_MODIFYING_FEATURES_BIT
, String
"MODIFYING_FEATURES_BIT"
)
,
( ToolPurposeFlagBits
TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
, String
"DEBUG_MARKERS_BIT_EXT"
)
,
( ToolPurposeFlagBits
TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT
, String
"DEBUG_REPORTING_BIT_EXT"
)
]
instance Show ToolPurposeFlagBits where
showsPrec :: Int -> ToolPurposeFlagBits -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixToolPurposeFlagBits
[(ToolPurposeFlagBits, String)]
showTableToolPurposeFlagBits
String
conNameToolPurposeFlagBits
(\(ToolPurposeFlagBits Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)
instance Read ToolPurposeFlagBits where
readPrec :: ReadPrec ToolPurposeFlagBits
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixToolPurposeFlagBits
[(ToolPurposeFlagBits, String)]
showTableToolPurposeFlagBits
String
conNameToolPurposeFlagBits
Flags -> ToolPurposeFlagBits
ToolPurposeFlagBits