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

data RawHierarchyLayoutModule

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

instance () => FPtr (HierarchyLayoutModule) where
        type Raw HierarchyLayoutModule = RawHierarchyLayoutModule
        get_fptr :: HierarchyLayoutModule -> Ptr (Raw HierarchyLayoutModule)
get_fptr (HierarchyLayoutModule Ptr RawHierarchyLayoutModule
ptr) = Ptr (Raw HierarchyLayoutModule)
Ptr RawHierarchyLayoutModule
ptr
        cast_fptr_to_obj :: Ptr (Raw HierarchyLayoutModule) -> HierarchyLayoutModule
cast_fptr_to_obj = Ptr (Raw HierarchyLayoutModule) -> HierarchyLayoutModule
Ptr RawHierarchyLayoutModule -> HierarchyLayoutModule
HierarchyLayoutModule