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

data RawOGRCurve

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

instance () => FPtr (OGRCurve) where
        type Raw OGRCurve = RawOGRCurve
        get_fptr :: OGRCurve -> Ptr (Raw OGRCurve)
get_fptr (OGRCurve Ptr RawOGRCurve
ptr) = Ptr (Raw OGRCurve)
Ptr RawOGRCurve
ptr
        cast_fptr_to_obj :: Ptr (Raw OGRCurve) -> OGRCurve
cast_fptr_to_obj = Ptr (Raw OGRCurve) -> OGRCurve
Ptr RawOGRCurve -> OGRCurve
OGRCurve