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

data RawOGRMultiSurface

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

instance () => FPtr (OGRMultiSurface) where
        type Raw OGRMultiSurface = RawOGRMultiSurface
        get_fptr :: OGRMultiSurface -> Ptr (Raw OGRMultiSurface)
get_fptr (OGRMultiSurface Ptr RawOGRMultiSurface
ptr) = Ptr (Raw OGRMultiSurface)
Ptr RawOGRMultiSurface
ptr
        cast_fptr_to_obj :: Ptr (Raw OGRMultiSurface) -> OGRMultiSurface
cast_fptr_to_obj = Ptr (Raw OGRMultiSurface) -> OGRMultiSurface
Ptr RawOGRMultiSurface -> OGRMultiSurface
OGRMultiSurface