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

data RawOGRPolygon

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

instance () => FPtr (OGRPolygon) where
        type Raw OGRPolygon = RawOGRPolygon
        get_fptr :: OGRPolygon -> Ptr (Raw OGRPolygon)
get_fptr (OGRPolygon Ptr RawOGRPolygon
ptr) = Ptr (Raw OGRPolygon)
Ptr RawOGRPolygon
ptr
        cast_fptr_to_obj :: Ptr (Raw OGRPolygon) -> OGRPolygon
cast_fptr_to_obj = Ptr (Raw OGRPolygon) -> OGRPolygon
Ptr RawOGRPolygon -> OGRPolygon
OGRPolygon