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

data RawFastSimpleHierarchyLayout

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

instance () => FPtr (FastSimpleHierarchyLayout) where
        type Raw FastSimpleHierarchyLayout = RawFastSimpleHierarchyLayout
        get_fptr :: FastSimpleHierarchyLayout -> Ptr (Raw FastSimpleHierarchyLayout)
get_fptr (FastSimpleHierarchyLayout Ptr RawFastSimpleHierarchyLayout
ptr) = Ptr (Raw FastSimpleHierarchyLayout)
Ptr RawFastSimpleHierarchyLayout
ptr
        cast_fptr_to_obj :: Ptr (Raw FastSimpleHierarchyLayout) -> FastSimpleHierarchyLayout
cast_fptr_to_obj = Ptr (Raw FastSimpleHierarchyLayout) -> FastSimpleHierarchyLayout
Ptr RawFastSimpleHierarchyLayout -> FastSimpleHierarchyLayout
FastSimpleHierarchyLayout