{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE NoImplicitPrelude #-}

-- This file was generated by wgpu-raw-hs-codegen on:
--   2021-08-15T08:56:06.968390
-- Using wgpu-native git hash:
--   b10496e7eed9349f0fd541e6dfe5029cb436de74 wgpu-native (v0.9.2.2)

module WGPU.Raw.Generated.Enum.WGPUBufferBindingType where

import Data.Word (Word32)
import Foreign (Storable)
import Prelude (Eq, Num, Show)

newtype WGPUBufferBindingType = WGPUBufferBindingType Word32
  deriving (WGPUBufferBindingType -> WGPUBufferBindingType -> Bool
(WGPUBufferBindingType -> WGPUBufferBindingType -> Bool)
-> (WGPUBufferBindingType -> WGPUBufferBindingType -> Bool)
-> Eq WGPUBufferBindingType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: WGPUBufferBindingType -> WGPUBufferBindingType -> Bool
$c/= :: WGPUBufferBindingType -> WGPUBufferBindingType -> Bool
== :: WGPUBufferBindingType -> WGPUBufferBindingType -> Bool
$c== :: WGPUBufferBindingType -> WGPUBufferBindingType -> Bool
Eq, Int -> WGPUBufferBindingType -> ShowS
[WGPUBufferBindingType] -> ShowS
WGPUBufferBindingType -> String
(Int -> WGPUBufferBindingType -> ShowS)
-> (WGPUBufferBindingType -> String)
-> ([WGPUBufferBindingType] -> ShowS)
-> Show WGPUBufferBindingType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [WGPUBufferBindingType] -> ShowS
$cshowList :: [WGPUBufferBindingType] -> ShowS
show :: WGPUBufferBindingType -> String
$cshow :: WGPUBufferBindingType -> String
showsPrec :: Int -> WGPUBufferBindingType -> ShowS
$cshowsPrec :: Int -> WGPUBufferBindingType -> ShowS
Show, Integer -> WGPUBufferBindingType
WGPUBufferBindingType -> WGPUBufferBindingType
WGPUBufferBindingType
-> WGPUBufferBindingType -> WGPUBufferBindingType
(WGPUBufferBindingType
 -> WGPUBufferBindingType -> WGPUBufferBindingType)
-> (WGPUBufferBindingType
    -> WGPUBufferBindingType -> WGPUBufferBindingType)
-> (WGPUBufferBindingType
    -> WGPUBufferBindingType -> WGPUBufferBindingType)
-> (WGPUBufferBindingType -> WGPUBufferBindingType)
-> (WGPUBufferBindingType -> WGPUBufferBindingType)
-> (WGPUBufferBindingType -> WGPUBufferBindingType)
-> (Integer -> WGPUBufferBindingType)
-> Num WGPUBufferBindingType
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> WGPUBufferBindingType
$cfromInteger :: Integer -> WGPUBufferBindingType
signum :: WGPUBufferBindingType -> WGPUBufferBindingType
$csignum :: WGPUBufferBindingType -> WGPUBufferBindingType
abs :: WGPUBufferBindingType -> WGPUBufferBindingType
$cabs :: WGPUBufferBindingType -> WGPUBufferBindingType
negate :: WGPUBufferBindingType -> WGPUBufferBindingType
$cnegate :: WGPUBufferBindingType -> WGPUBufferBindingType
* :: WGPUBufferBindingType
-> WGPUBufferBindingType -> WGPUBufferBindingType
$c* :: WGPUBufferBindingType
-> WGPUBufferBindingType -> WGPUBufferBindingType
- :: WGPUBufferBindingType
-> WGPUBufferBindingType -> WGPUBufferBindingType
$c- :: WGPUBufferBindingType
-> WGPUBufferBindingType -> WGPUBufferBindingType
+ :: WGPUBufferBindingType
-> WGPUBufferBindingType -> WGPUBufferBindingType
$c+ :: WGPUBufferBindingType
-> WGPUBufferBindingType -> WGPUBufferBindingType
Num, Ptr b -> Int -> IO WGPUBufferBindingType
Ptr b -> Int -> WGPUBufferBindingType -> IO ()
Ptr WGPUBufferBindingType -> IO WGPUBufferBindingType
Ptr WGPUBufferBindingType -> Int -> IO WGPUBufferBindingType
Ptr WGPUBufferBindingType -> Int -> WGPUBufferBindingType -> IO ()
Ptr WGPUBufferBindingType -> WGPUBufferBindingType -> IO ()
WGPUBufferBindingType -> Int
(WGPUBufferBindingType -> Int)
-> (WGPUBufferBindingType -> Int)
-> (Ptr WGPUBufferBindingType -> Int -> IO WGPUBufferBindingType)
-> (Ptr WGPUBufferBindingType
    -> Int -> WGPUBufferBindingType -> IO ())
-> (forall b. Ptr b -> Int -> IO WGPUBufferBindingType)
-> (forall b. Ptr b -> Int -> WGPUBufferBindingType -> IO ())
-> (Ptr WGPUBufferBindingType -> IO WGPUBufferBindingType)
-> (Ptr WGPUBufferBindingType -> WGPUBufferBindingType -> IO ())
-> Storable WGPUBufferBindingType
forall b. Ptr b -> Int -> IO WGPUBufferBindingType
forall b. Ptr b -> Int -> WGPUBufferBindingType -> 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 WGPUBufferBindingType -> WGPUBufferBindingType -> IO ()
$cpoke :: Ptr WGPUBufferBindingType -> WGPUBufferBindingType -> IO ()
peek :: Ptr WGPUBufferBindingType -> IO WGPUBufferBindingType
$cpeek :: Ptr WGPUBufferBindingType -> IO WGPUBufferBindingType
pokeByteOff :: Ptr b -> Int -> WGPUBufferBindingType -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> WGPUBufferBindingType -> IO ()
peekByteOff :: Ptr b -> Int -> IO WGPUBufferBindingType
$cpeekByteOff :: forall b. Ptr b -> Int -> IO WGPUBufferBindingType
pokeElemOff :: Ptr WGPUBufferBindingType -> Int -> WGPUBufferBindingType -> IO ()
$cpokeElemOff :: Ptr WGPUBufferBindingType -> Int -> WGPUBufferBindingType -> IO ()
peekElemOff :: Ptr WGPUBufferBindingType -> Int -> IO WGPUBufferBindingType
$cpeekElemOff :: Ptr WGPUBufferBindingType -> Int -> IO WGPUBufferBindingType
alignment :: WGPUBufferBindingType -> Int
$calignment :: WGPUBufferBindingType -> Int
sizeOf :: WGPUBufferBindingType -> Int
$csizeOf :: WGPUBufferBindingType -> Int
Storable)

pattern Undefined :: forall a. (Eq a, Num a) => a
pattern $bUndefined :: a
$mUndefined :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Undefined = 0x00000000

pattern Uniform :: forall a. (Eq a, Num a) => a
pattern $bUniform :: a
$mUniform :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Uniform = 0x00000001

pattern Storage :: forall a. (Eq a, Num a) => a
pattern $bStorage :: a
$mStorage :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Storage = 0x00000002

pattern ReadOnlyStorage :: forall a. (Eq a, Num a) => a
pattern $bReadOnlyStorage :: a
$mReadOnlyStorage :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
ReadOnlyStorage = 0x00000003