{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,
  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,
  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}
module GDAL.OGRSurface.RawType where
import Foreign.Ptr
import FFICXX.Runtime.Cast

data RawOGRSurface

newtype OGRSurface = OGRSurface (Ptr RawOGRSurface)
                       deriving (OGRSurface -> OGRSurface -> Bool
(OGRSurface -> OGRSurface -> Bool)
-> (OGRSurface -> OGRSurface -> Bool) -> Eq OGRSurface
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OGRSurface -> OGRSurface -> Bool
== :: OGRSurface -> OGRSurface -> Bool
$c/= :: OGRSurface -> OGRSurface -> Bool
/= :: OGRSurface -> OGRSurface -> Bool
Eq, Eq OGRSurface
Eq OGRSurface
-> (OGRSurface -> OGRSurface -> Ordering)
-> (OGRSurface -> OGRSurface -> Bool)
-> (OGRSurface -> OGRSurface -> Bool)
-> (OGRSurface -> OGRSurface -> Bool)
-> (OGRSurface -> OGRSurface -> Bool)
-> (OGRSurface -> OGRSurface -> OGRSurface)
-> (OGRSurface -> OGRSurface -> OGRSurface)
-> Ord OGRSurface
OGRSurface -> OGRSurface -> Bool
OGRSurface -> OGRSurface -> Ordering
OGRSurface -> OGRSurface -> OGRSurface
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 :: OGRSurface -> OGRSurface -> Ordering
compare :: OGRSurface -> OGRSurface -> Ordering
$c< :: OGRSurface -> OGRSurface -> Bool
< :: OGRSurface -> OGRSurface -> Bool
$c<= :: OGRSurface -> OGRSurface -> Bool
<= :: OGRSurface -> OGRSurface -> Bool
$c> :: OGRSurface -> OGRSurface -> Bool
> :: OGRSurface -> OGRSurface -> Bool
$c>= :: OGRSurface -> OGRSurface -> Bool
>= :: OGRSurface -> OGRSurface -> Bool
$cmax :: OGRSurface -> OGRSurface -> OGRSurface
max :: OGRSurface -> OGRSurface -> OGRSurface
$cmin :: OGRSurface -> OGRSurface -> OGRSurface
min :: OGRSurface -> OGRSurface -> OGRSurface
Ord, Int -> OGRSurface -> ShowS
[OGRSurface] -> ShowS
OGRSurface -> String
(Int -> OGRSurface -> ShowS)
-> (OGRSurface -> String)
-> ([OGRSurface] -> ShowS)
-> Show OGRSurface
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OGRSurface -> ShowS
showsPrec :: Int -> OGRSurface -> ShowS
$cshow :: OGRSurface -> String
show :: OGRSurface -> String
$cshowList :: [OGRSurface] -> ShowS
showList :: [OGRSurface] -> ShowS
Show)

instance () => FPtr (OGRSurface) where
        type Raw OGRSurface = RawOGRSurface
        get_fptr :: OGRSurface -> Ptr (Raw OGRSurface)
get_fptr (OGRSurface Ptr RawOGRSurface
ptr) = Ptr (Raw OGRSurface)
Ptr RawOGRSurface
ptr
        cast_fptr_to_obj :: Ptr (Raw OGRSurface) -> OGRSurface
cast_fptr_to_obj = Ptr (Raw OGRSurface) -> OGRSurface
Ptr RawOGRSurface -> OGRSurface
OGRSurface