{-# LANGUAGE EmptyDataDecls, ExistentialQuantification, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies, TypeSynonymInstances #-} module GDAL.OGRLinearRing.Interface where import Data.Word import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import GDAL.OGRLinearRing.RawType import GDAL.OGRLineString.Interface class (IOGRLineString a) => IOGRLinearRing a where upcastOGRLinearRing :: forall a . (FPtr a, IOGRLinearRing a) => a -> OGRLinearRing upcastOGRLinearRing h = let fh = get_fptr h fh2 :: Ptr RawOGRLinearRing = castPtr fh in cast_fptr_to_obj fh2 downcastOGRLinearRing :: forall a . (FPtr a, IOGRLinearRing a) => OGRLinearRing -> a downcastOGRLinearRing h = let fh = get_fptr h fh2 = castPtr fh in cast_fptr_to_obj fh2