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

data RawOGRCurvePolygon

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

instance () => FPtr (OGRCurvePolygon) where
        type Raw OGRCurvePolygon = RawOGRCurvePolygon
        get_fptr :: OGRCurvePolygon -> Ptr (Raw OGRCurvePolygon)
get_fptr (OGRCurvePolygon Ptr RawOGRCurvePolygon
ptr) = Ptr (Raw OGRCurvePolygon)
Ptr RawOGRCurvePolygon
ptr
        cast_fptr_to_obj :: Ptr (Raw OGRCurvePolygon) -> OGRCurvePolygon
cast_fptr_to_obj = Ptr (Raw OGRCurvePolygon) -> OGRCurvePolygon
Ptr RawOGRCurvePolygon -> OGRCurvePolygon
OGRCurvePolygon