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

data RawLayerByLayerSweep

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

instance () => FPtr (LayerByLayerSweep) where
        type Raw LayerByLayerSweep = RawLayerByLayerSweep
        get_fptr :: LayerByLayerSweep -> Ptr (Raw LayerByLayerSweep)
get_fptr (LayerByLayerSweep Ptr RawLayerByLayerSweep
ptr) = Ptr (Raw LayerByLayerSweep)
Ptr RawLayerByLayerSweep
ptr
        cast_fptr_to_obj :: Ptr (Raw LayerByLayerSweep) -> LayerByLayerSweep
cast_fptr_to_obj = Ptr (Raw LayerByLayerSweep) -> LayerByLayerSweep
Ptr RawLayerByLayerSweep -> LayerByLayerSweep
LayerByLayerSweep