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

data RawOGRGeometryCollection

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

instance () => FPtr (OGRGeometryCollection) where
        type Raw OGRGeometryCollection = RawOGRGeometryCollection
        get_fptr :: OGRGeometryCollection -> Ptr (Raw OGRGeometryCollection)
get_fptr (OGRGeometryCollection Ptr RawOGRGeometryCollection
ptr) = Ptr (Raw OGRGeometryCollection)
Ptr RawOGRGeometryCollection
ptr
        cast_fptr_to_obj :: Ptr (Raw OGRGeometryCollection) -> OGRGeometryCollection
cast_fptr_to_obj = Ptr (Raw OGRGeometryCollection) -> OGRGeometryCollection
Ptr RawOGRGeometryCollection -> OGRGeometryCollection
OGRGeometryCollection