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

data RawOGRFeature

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

instance () => FPtr (OGRFeature) where
        type Raw OGRFeature = RawOGRFeature
        get_fptr :: OGRFeature -> Ptr (Raw OGRFeature)
get_fptr (OGRFeature Ptr RawOGRFeature
ptr) = Ptr (Raw OGRFeature)
Ptr RawOGRFeature
ptr
        cast_fptr_to_obj :: Ptr (Raw OGRFeature) -> OGRFeature
cast_fptr_to_obj = Ptr (Raw OGRFeature) -> OGRFeature
Ptr RawOGRFeature -> OGRFeature
OGRFeature