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

data RawSugiyamaLayout

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

instance () => FPtr (SugiyamaLayout) where
        type Raw SugiyamaLayout = RawSugiyamaLayout
        get_fptr :: SugiyamaLayout -> Ptr (Raw SugiyamaLayout)
get_fptr (SugiyamaLayout Ptr RawSugiyamaLayout
ptr) = Ptr (Raw SugiyamaLayout)
Ptr RawSugiyamaLayout
ptr
        cast_fptr_to_obj :: Ptr (Raw SugiyamaLayout) -> SugiyamaLayout
cast_fptr_to_obj = Ptr (Raw SugiyamaLayout) -> SugiyamaLayout
Ptr RawSugiyamaLayout -> SugiyamaLayout
SugiyamaLayout