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

data RawOGRFeatureDefn

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

instance () => FPtr (OGRFeatureDefn) where
        type Raw OGRFeatureDefn = RawOGRFeatureDefn
        get_fptr :: OGRFeatureDefn -> Ptr (Raw OGRFeatureDefn)
get_fptr (OGRFeatureDefn Ptr RawOGRFeatureDefn
ptr) = Ptr (Raw OGRFeatureDefn)
Ptr RawOGRFeatureDefn
ptr
        cast_fptr_to_obj :: Ptr (Raw OGRFeatureDefn) -> OGRFeatureDefn
cast_fptr_to_obj = Ptr (Raw OGRFeatureDefn) -> OGRFeatureDefn
Ptr RawOGRFeatureDefn -> OGRFeatureDefn
OGRFeatureDefn