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

data RawOGRMultiPolygon

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

instance () => FPtr (OGRMultiPolygon) where
        type Raw OGRMultiPolygon = RawOGRMultiPolygon
        get_fptr :: OGRMultiPolygon -> Ptr (Raw OGRMultiPolygon)
get_fptr (OGRMultiPolygon Ptr RawOGRMultiPolygon
ptr) = Ptr (Raw OGRMultiPolygon)
Ptr RawOGRMultiPolygon
ptr
        cast_fptr_to_obj :: Ptr (Raw OGRMultiPolygon) -> OGRMultiPolygon
cast_fptr_to_obj = Ptr (Raw OGRMultiPolygon) -> OGRMultiPolygon
Ptr RawOGRMultiPolygon -> OGRMultiPolygon
OGRMultiPolygon