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

data RawOGRFieldDefn

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

instance () => FPtr (OGRFieldDefn) where
        type Raw OGRFieldDefn = RawOGRFieldDefn
        get_fptr :: OGRFieldDefn -> Ptr (Raw OGRFieldDefn)
get_fptr (OGRFieldDefn Ptr RawOGRFieldDefn
ptr) = Ptr (Raw OGRFieldDefn)
Ptr RawOGRFieldDefn
ptr
        cast_fptr_to_obj :: Ptr (Raw OGRFieldDefn) -> OGRFieldDefn
cast_fptr_to_obj = Ptr (Raw OGRFieldDefn) -> OGRFieldDefn
Ptr RawOGRFieldDefn -> OGRFieldDefn
OGRFieldDefn