{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,
  ForeignFunctionInterface, IncoherentInstances,
  MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,
  TypeFamilies, TypeSynonymInstances #-}
module GDAL.OGREnvelope.Implementation where
import Data.Monoid
import Data.Word
import Data.Int
import Foreign.C
import Foreign.Ptr
import Language.Haskell.TH
import Language.Haskell.TH.Syntax
import System.IO.Unsafe
import FFICXX.Runtime.Cast
import FFICXX.Runtime.CodeGen.Cxx
import FFICXX.Runtime.TH
import GDAL.OGREnvelope.RawType
import GDAL.OGREnvelope.FFI
import GDAL.OGREnvelope.Interface
import GDAL.OGREnvelope.Cast
import GDAL.OGREnvelope.RawType
import GDAL.OGREnvelope.Cast
import GDAL.OGREnvelope.Interface
import STD.Deletable.RawType
import STD.Deletable.Cast
import STD.Deletable.Interface

instance () => IOGREnvelope (OGREnvelope) where

instance () => IDeletable (OGREnvelope) where
        delete :: OGREnvelope -> IO ()
delete = (Ptr RawOGREnvelope -> IO ()) -> OGREnvelope -> IO ()
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawOGREnvelope -> IO ()
c_ogrenvelope_delete

newOGREnvelope :: () => IO OGREnvelope
newOGREnvelope :: IO OGREnvelope
newOGREnvelope = IO (Ptr RawOGREnvelope) -> IO OGREnvelope
forall a ca. Castable a ca => IO ca -> IO a
xformnull IO (Ptr RawOGREnvelope)
c_ogrenvelope_newogrenvelope

oGREnvelope_MinX_get :: () => OGREnvelope -> IO CDouble
oGREnvelope_MinX_get :: OGREnvelope -> IO CDouble
oGREnvelope_MinX_get = (Ptr RawOGREnvelope -> IO CDouble) -> OGREnvelope -> IO CDouble
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawOGREnvelope -> IO CDouble
c_ogrenvelope_minx_get

oGREnvelope_MinX_set :: () => OGREnvelope -> CDouble -> IO ()
oGREnvelope_MinX_set :: OGREnvelope -> CDouble -> IO ()
oGREnvelope_MinX_set = (Ptr RawOGREnvelope -> CDouble -> IO ())
-> OGREnvelope -> CDouble -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawOGREnvelope -> CDouble -> IO ()
c_ogrenvelope_minx_set

oGREnvelope_MaxX_get :: () => OGREnvelope -> IO CDouble
oGREnvelope_MaxX_get :: OGREnvelope -> IO CDouble
oGREnvelope_MaxX_get = (Ptr RawOGREnvelope -> IO CDouble) -> OGREnvelope -> IO CDouble
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawOGREnvelope -> IO CDouble
c_ogrenvelope_maxx_get

oGREnvelope_MaxX_set :: () => OGREnvelope -> CDouble -> IO ()
oGREnvelope_MaxX_set :: OGREnvelope -> CDouble -> IO ()
oGREnvelope_MaxX_set = (Ptr RawOGREnvelope -> CDouble -> IO ())
-> OGREnvelope -> CDouble -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawOGREnvelope -> CDouble -> IO ()
c_ogrenvelope_maxx_set

oGREnvelope_MinY_get :: () => OGREnvelope -> IO CDouble
oGREnvelope_MinY_get :: OGREnvelope -> IO CDouble
oGREnvelope_MinY_get = (Ptr RawOGREnvelope -> IO CDouble) -> OGREnvelope -> IO CDouble
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawOGREnvelope -> IO CDouble
c_ogrenvelope_miny_get

oGREnvelope_MinY_set :: () => OGREnvelope -> CDouble -> IO ()
oGREnvelope_MinY_set :: OGREnvelope -> CDouble -> IO ()
oGREnvelope_MinY_set = (Ptr RawOGREnvelope -> CDouble -> IO ())
-> OGREnvelope -> CDouble -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawOGREnvelope -> CDouble -> IO ()
c_ogrenvelope_miny_set

oGREnvelope_MaxY_get :: () => OGREnvelope -> IO CDouble
oGREnvelope_MaxY_get :: OGREnvelope -> IO CDouble
oGREnvelope_MaxY_get = (Ptr RawOGREnvelope -> IO CDouble) -> OGREnvelope -> IO CDouble
forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
xform0 Ptr RawOGREnvelope -> IO CDouble
c_ogrenvelope_maxy_get

oGREnvelope_MaxY_set :: () => OGREnvelope -> CDouble -> IO ()
oGREnvelope_MaxY_set :: OGREnvelope -> CDouble -> IO ()
oGREnvelope_MaxY_set = (Ptr RawOGREnvelope -> CDouble -> IO ())
-> OGREnvelope -> CDouble -> IO ()
forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
xform1 Ptr RawOGREnvelope -> CDouble -> IO ()
c_ogrenvelope_maxy_set