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

data RawOGRLinearRing

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

instance () => FPtr (OGRLinearRing) where
        type Raw OGRLinearRing = RawOGRLinearRing
        get_fptr :: OGRLinearRing -> Ptr (Raw OGRLinearRing)
get_fptr (OGRLinearRing Ptr RawOGRLinearRing
ptr) = Ptr (Raw OGRLinearRing)
Ptr RawOGRLinearRing
ptr
        cast_fptr_to_obj :: Ptr (Raw OGRLinearRing) -> OGRLinearRing
cast_fptr_to_obj = Ptr (Raw OGRLinearRing) -> OGRLinearRing
Ptr RawOGRLinearRing -> OGRLinearRing
OGRLinearRing