{-# language CPP #-}
-- No documentation found for Chapter "DescriptorPoolCreateFlagBits"
module Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits  ( DescriptorPoolCreateFlags
                                                         , DescriptorPoolCreateFlagBits( DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT
                                                                                       , DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT
                                                                                       , DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT
                                                                                       , ..
                                                                                       )
                                                         ) where

import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.Zero (Zero)
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Vulkan.Core10.FundamentalTypes (Flags)
type DescriptorPoolCreateFlags = DescriptorPoolCreateFlagBits

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

-- | 'DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT' specifies that
-- descriptor sets /can/ return their individual allocations to the pool,
-- i.e. all of 'Vulkan.Core10.DescriptorSet.allocateDescriptorSets',
-- 'Vulkan.Core10.DescriptorSet.freeDescriptorSets', and
-- 'Vulkan.Core10.DescriptorSet.resetDescriptorPool' are allowed.
-- Otherwise, descriptor sets allocated from the pool /must/ not be
-- individually freed back to the pool, i.e. only
-- 'Vulkan.Core10.DescriptorSet.allocateDescriptorSets' and
-- 'Vulkan.Core10.DescriptorSet.resetDescriptorPool' are allowed.
pattern $bDESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: DescriptorPoolCreateFlagBits
$mDESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: forall {r}.
DescriptorPoolCreateFlagBits -> (Void# -> r) -> (Void# -> r) -> r
DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = DescriptorPoolCreateFlagBits 0x00000001

-- | 'DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT' specifies that this
-- descriptor pool and the descriptor sets allocated from it reside
-- entirely in host memory and cannot be bound. Similar to descriptor sets
-- allocated without this flag, applications /can/ copy-from and copy-to
-- descriptors sets allocated from this descriptor pool. Descriptor sets
-- allocated from this pool are partially exempt from the external
-- synchronization requirement in
-- 'Vulkan.Extensions.VK_KHR_descriptor_update_template.updateDescriptorSetWithTemplateKHR'
-- and 'Vulkan.Core10.DescriptorSet.updateDescriptorSets'. Descriptor sets
-- and their descriptors can be updated concurrently in different threads,
-- though the same descriptor /must/ not be updated concurrently by two
-- threads.
pattern $bDESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT :: DescriptorPoolCreateFlagBits
$mDESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT :: forall {r}.
DescriptorPoolCreateFlagBits -> (Void# -> r) -> (Void# -> r) -> r
DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = DescriptorPoolCreateFlagBits 0x00000004

-- | 'DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT' specifies that descriptor
-- sets allocated from this pool /can/ include bindings with the
-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT'
-- bit set. It is valid to allocate descriptor sets that have bindings that
-- do not set the
-- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT'
-- bit from a pool that has 'DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT'
-- set.
pattern $bDESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT :: DescriptorPoolCreateFlagBits
$mDESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT :: forall {r}.
DescriptorPoolCreateFlagBits -> (Void# -> r) -> (Void# -> r) -> r
DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = DescriptorPoolCreateFlagBits 0x00000002

conNameDescriptorPoolCreateFlagBits :: String
conNameDescriptorPoolCreateFlagBits :: String
conNameDescriptorPoolCreateFlagBits = String
"DescriptorPoolCreateFlagBits"

enumPrefixDescriptorPoolCreateFlagBits :: String
enumPrefixDescriptorPoolCreateFlagBits :: String
enumPrefixDescriptorPoolCreateFlagBits = String
"DESCRIPTOR_POOL_CREATE_"

showTableDescriptorPoolCreateFlagBits :: [(DescriptorPoolCreateFlagBits, String)]
showTableDescriptorPoolCreateFlagBits :: [(DescriptorPoolCreateFlagBits, String)]
showTableDescriptorPoolCreateFlagBits =
  [
    ( DescriptorPoolCreateFlagBits
DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT
    , String
"FREE_DESCRIPTOR_SET_BIT"
    )
  ,
    ( DescriptorPoolCreateFlagBits
DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT
    , String
"HOST_ONLY_BIT_EXT"
    )
  ,
    ( DescriptorPoolCreateFlagBits
DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT
    , String
"UPDATE_AFTER_BIND_BIT"
    )
  ]

instance Show DescriptorPoolCreateFlagBits where
  showsPrec :: Int -> DescriptorPoolCreateFlagBits -> ShowS
showsPrec =
    String
-> [(DescriptorPoolCreateFlagBits, String)]
-> String
-> (DescriptorPoolCreateFlagBits -> Flags)
-> (Flags -> ShowS)
-> Int
-> DescriptorPoolCreateFlagBits
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
      String
enumPrefixDescriptorPoolCreateFlagBits
      [(DescriptorPoolCreateFlagBits, String)]
showTableDescriptorPoolCreateFlagBits
      String
conNameDescriptorPoolCreateFlagBits
      (\(DescriptorPoolCreateFlagBits 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, Show a) => a -> ShowS
showHex Flags
x)

instance Read DescriptorPoolCreateFlagBits where
  readPrec :: ReadPrec DescriptorPoolCreateFlagBits
readPrec =
    String
-> [(DescriptorPoolCreateFlagBits, String)]
-> String
-> (Flags -> DescriptorPoolCreateFlagBits)
-> ReadPrec DescriptorPoolCreateFlagBits
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixDescriptorPoolCreateFlagBits
      [(DescriptorPoolCreateFlagBits, String)]
showTableDescriptorPoolCreateFlagBits
      String
conNameDescriptorPoolCreateFlagBits
      Flags -> DescriptorPoolCreateFlagBits
DescriptorPoolCreateFlagBits