{-# language CPP #-}
-- No documentation found for Chapter "ExternalSemaphoreFeatureFlagBits"
module Vulkan.Core11.Enums.ExternalSemaphoreFeatureFlagBits  ( ExternalSemaphoreFeatureFlags
                                                             , ExternalSemaphoreFeatureFlagBits( EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT
                                                                                               , EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
                                                                                               , ..
                                                                                               )
                                                             ) 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)
type ExternalSemaphoreFeatureFlags = ExternalSemaphoreFeatureFlagBits

-- | VkExternalSemaphoreFeatureFlagBits - Bitfield describing features of an
-- external semaphore handle type
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
-- 'ExternalSemaphoreFeatureFlags'
newtype ExternalSemaphoreFeatureFlagBits = ExternalSemaphoreFeatureFlagBits Flags
  deriving newtype (ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
(ExternalSemaphoreFeatureFlagBits
 -> ExternalSemaphoreFeatureFlagBits -> Bool)
-> (ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits -> Bool)
-> Eq ExternalSemaphoreFeatureFlagBits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
== :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
$c/= :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
/= :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
Eq, Eq ExternalSemaphoreFeatureFlagBits
Eq ExternalSemaphoreFeatureFlagBits =>
(ExternalSemaphoreFeatureFlagBits
 -> ExternalSemaphoreFeatureFlagBits -> Ordering)
-> (ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits -> Bool)
-> (ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits -> Bool)
-> (ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits -> Bool)
-> (ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits -> Bool)
-> (ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits)
-> Ord ExternalSemaphoreFeatureFlagBits
ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Ordering
ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
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
$ccompare :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Ordering
compare :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Ordering
$c< :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
< :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
$c<= :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
<= :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
$c> :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
> :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
$c>= :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
>= :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> Bool
$cmax :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
max :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
$cmin :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
min :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
Ord, Ptr ExternalSemaphoreFeatureFlagBits
-> IO ExternalSemaphoreFeatureFlagBits
Ptr ExternalSemaphoreFeatureFlagBits
-> Int -> IO ExternalSemaphoreFeatureFlagBits
Ptr ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits -> IO ()
Ptr ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> IO ()
ExternalSemaphoreFeatureFlagBits -> Int
(ExternalSemaphoreFeatureFlagBits -> Int)
-> (ExternalSemaphoreFeatureFlagBits -> Int)
-> (Ptr ExternalSemaphoreFeatureFlagBits
    -> Int -> IO ExternalSemaphoreFeatureFlagBits)
-> (Ptr ExternalSemaphoreFeatureFlagBits
    -> Int -> ExternalSemaphoreFeatureFlagBits -> IO ())
-> (forall b. Ptr b -> Int -> IO ExternalSemaphoreFeatureFlagBits)
-> (forall b.
    Ptr b -> Int -> ExternalSemaphoreFeatureFlagBits -> IO ())
-> (Ptr ExternalSemaphoreFeatureFlagBits
    -> IO ExternalSemaphoreFeatureFlagBits)
-> (Ptr ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits -> IO ())
-> Storable ExternalSemaphoreFeatureFlagBits
forall b. Ptr b -> Int -> IO ExternalSemaphoreFeatureFlagBits
forall b. Ptr b -> Int -> ExternalSemaphoreFeatureFlagBits -> 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
$csizeOf :: ExternalSemaphoreFeatureFlagBits -> Int
sizeOf :: ExternalSemaphoreFeatureFlagBits -> Int
$calignment :: ExternalSemaphoreFeatureFlagBits -> Int
alignment :: ExternalSemaphoreFeatureFlagBits -> Int
$cpeekElemOff :: Ptr ExternalSemaphoreFeatureFlagBits
-> Int -> IO ExternalSemaphoreFeatureFlagBits
peekElemOff :: Ptr ExternalSemaphoreFeatureFlagBits
-> Int -> IO ExternalSemaphoreFeatureFlagBits
$cpokeElemOff :: Ptr ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits -> IO ()
pokeElemOff :: Ptr ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ExternalSemaphoreFeatureFlagBits
peekByteOff :: forall b. Ptr b -> Int -> IO ExternalSemaphoreFeatureFlagBits
$cpokeByteOff :: forall b. Ptr b -> Int -> ExternalSemaphoreFeatureFlagBits -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> ExternalSemaphoreFeatureFlagBits -> IO ()
$cpeek :: Ptr ExternalSemaphoreFeatureFlagBits
-> IO ExternalSemaphoreFeatureFlagBits
peek :: Ptr ExternalSemaphoreFeatureFlagBits
-> IO ExternalSemaphoreFeatureFlagBits
$cpoke :: Ptr ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> IO ()
poke :: Ptr ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits -> IO ()
Storable, ExternalSemaphoreFeatureFlagBits
ExternalSemaphoreFeatureFlagBits
-> Zero ExternalSemaphoreFeatureFlagBits
forall a. a -> Zero a
$czero :: ExternalSemaphoreFeatureFlagBits
zero :: ExternalSemaphoreFeatureFlagBits
Zero, Eq ExternalSemaphoreFeatureFlagBits
ExternalSemaphoreFeatureFlagBits
Eq ExternalSemaphoreFeatureFlagBits =>
(ExternalSemaphoreFeatureFlagBits
 -> ExternalSemaphoreFeatureFlagBits
 -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> Int -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> Int -> ExternalSemaphoreFeatureFlagBits)
-> ExternalSemaphoreFeatureFlagBits
-> (Int -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> Int -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> Int -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> Int -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits -> Int -> Bool)
-> (ExternalSemaphoreFeatureFlagBits -> Maybe Int)
-> (ExternalSemaphoreFeatureFlagBits -> Int)
-> (ExternalSemaphoreFeatureFlagBits -> Bool)
-> (ExternalSemaphoreFeatureFlagBits
    -> Int -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> Int -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> Int -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> Int -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> Int -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits
    -> Int -> ExternalSemaphoreFeatureFlagBits)
-> (ExternalSemaphoreFeatureFlagBits -> Int)
-> Bits ExternalSemaphoreFeatureFlagBits
Int -> ExternalSemaphoreFeatureFlagBits
ExternalSemaphoreFeatureFlagBits -> Bool
ExternalSemaphoreFeatureFlagBits -> Int
ExternalSemaphoreFeatureFlagBits -> Maybe Int
ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
ExternalSemaphoreFeatureFlagBits -> Int -> Bool
ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
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
$c.&. :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
.&. :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
$c.|. :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
.|. :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
$cxor :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
xor :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
$ccomplement :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
complement :: ExternalSemaphoreFeatureFlagBits
-> ExternalSemaphoreFeatureFlagBits
$cshift :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
shift :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
$crotate :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
rotate :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
$czeroBits :: ExternalSemaphoreFeatureFlagBits
zeroBits :: ExternalSemaphoreFeatureFlagBits
$cbit :: Int -> ExternalSemaphoreFeatureFlagBits
bit :: Int -> ExternalSemaphoreFeatureFlagBits
$csetBit :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
setBit :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
$cclearBit :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
clearBit :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
$ccomplementBit :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
complementBit :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
$ctestBit :: ExternalSemaphoreFeatureFlagBits -> Int -> Bool
testBit :: ExternalSemaphoreFeatureFlagBits -> Int -> Bool
$cbitSizeMaybe :: ExternalSemaphoreFeatureFlagBits -> Maybe Int
bitSizeMaybe :: ExternalSemaphoreFeatureFlagBits -> Maybe Int
$cbitSize :: ExternalSemaphoreFeatureFlagBits -> Int
bitSize :: ExternalSemaphoreFeatureFlagBits -> Int
$cisSigned :: ExternalSemaphoreFeatureFlagBits -> Bool
isSigned :: ExternalSemaphoreFeatureFlagBits -> Bool
$cshiftL :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
shiftL :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
$cunsafeShiftL :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
unsafeShiftL :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
$cshiftR :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
shiftR :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
$cunsafeShiftR :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
unsafeShiftR :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
$crotateL :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
rotateL :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
$crotateR :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
rotateR :: ExternalSemaphoreFeatureFlagBits
-> Int -> ExternalSemaphoreFeatureFlagBits
$cpopCount :: ExternalSemaphoreFeatureFlagBits -> Int
popCount :: ExternalSemaphoreFeatureFlagBits -> Int
Bits, Bits ExternalSemaphoreFeatureFlagBits
Bits ExternalSemaphoreFeatureFlagBits =>
(ExternalSemaphoreFeatureFlagBits -> Int)
-> (ExternalSemaphoreFeatureFlagBits -> Int)
-> (ExternalSemaphoreFeatureFlagBits -> Int)
-> FiniteBits ExternalSemaphoreFeatureFlagBits
ExternalSemaphoreFeatureFlagBits -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: ExternalSemaphoreFeatureFlagBits -> Int
finiteBitSize :: ExternalSemaphoreFeatureFlagBits -> Int
$ccountLeadingZeros :: ExternalSemaphoreFeatureFlagBits -> Int
countLeadingZeros :: ExternalSemaphoreFeatureFlagBits -> Int
$ccountTrailingZeros :: ExternalSemaphoreFeatureFlagBits -> Int
countTrailingZeros :: ExternalSemaphoreFeatureFlagBits -> Int
FiniteBits)

-- | 'EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT' specifies that handles of
-- this type /can/ be exported from Vulkan semaphore objects.
pattern $bEXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: ExternalSemaphoreFeatureFlagBits
$mEXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT :: forall {r}.
ExternalSemaphoreFeatureFlagBits
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = ExternalSemaphoreFeatureFlagBits 0x00000001

-- | 'EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT' specifies that handles of
-- this type /can/ be imported as Vulkan semaphore objects.
pattern $bEXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: ExternalSemaphoreFeatureFlagBits
$mEXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT :: forall {r}.
ExternalSemaphoreFeatureFlagBits
-> ((# #) -> r) -> ((# #) -> r) -> r
EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = ExternalSemaphoreFeatureFlagBits 0x00000002

conNameExternalSemaphoreFeatureFlagBits :: String
conNameExternalSemaphoreFeatureFlagBits :: String
conNameExternalSemaphoreFeatureFlagBits = String
"ExternalSemaphoreFeatureFlagBits"

enumPrefixExternalSemaphoreFeatureFlagBits :: String
enumPrefixExternalSemaphoreFeatureFlagBits :: String
enumPrefixExternalSemaphoreFeatureFlagBits = String
"EXTERNAL_SEMAPHORE_FEATURE_"

showTableExternalSemaphoreFeatureFlagBits :: [(ExternalSemaphoreFeatureFlagBits, String)]
showTableExternalSemaphoreFeatureFlagBits :: [(ExternalSemaphoreFeatureFlagBits, String)]
showTableExternalSemaphoreFeatureFlagBits =
  [
    ( ExternalSemaphoreFeatureFlagBits
EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT
    , String
"EXPORTABLE_BIT"
    )
  ,
    ( ExternalSemaphoreFeatureFlagBits
EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
    , String
"IMPORTABLE_BIT"
    )
  ]

instance Show ExternalSemaphoreFeatureFlagBits where
  showsPrec :: Int -> ExternalSemaphoreFeatureFlagBits -> ShowS
showsPrec =
    String
-> [(ExternalSemaphoreFeatureFlagBits, String)]
-> String
-> (ExternalSemaphoreFeatureFlagBits -> Flags)
-> (Flags -> ShowS)
-> Int
-> ExternalSemaphoreFeatureFlagBits
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
      String
enumPrefixExternalSemaphoreFeatureFlagBits
      [(ExternalSemaphoreFeatureFlagBits, String)]
showTableExternalSemaphoreFeatureFlagBits
      String
conNameExternalSemaphoreFeatureFlagBits
      (\(ExternalSemaphoreFeatureFlagBits Flags
x) -> Flags
x)
      (\Flags
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags -> ShowS
forall a. Integral a => a -> ShowS
showHex Flags
x)

instance Read ExternalSemaphoreFeatureFlagBits where
  readPrec :: ReadPrec ExternalSemaphoreFeatureFlagBits
readPrec =
    String
-> [(ExternalSemaphoreFeatureFlagBits, String)]
-> String
-> (Flags -> ExternalSemaphoreFeatureFlagBits)
-> ReadPrec ExternalSemaphoreFeatureFlagBits
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixExternalSemaphoreFeatureFlagBits
      [(ExternalSemaphoreFeatureFlagBits, String)]
showTableExternalSemaphoreFeatureFlagBits
      String
conNameExternalSemaphoreFeatureFlagBits
      Flags -> ExternalSemaphoreFeatureFlagBits
ExternalSemaphoreFeatureFlagBits