{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module OGDF.LayeredCrossMinModule.RawType where import Foreign.Ptr import FFICXX.Runtime.Cast data RawLayeredCrossMinModule newtype LayeredCrossMinModule = LayeredCrossMinModule (Ptr RawLayeredCrossMinModule) deriving (LayeredCrossMinModule -> LayeredCrossMinModule -> Bool (LayeredCrossMinModule -> LayeredCrossMinModule -> Bool) -> (LayeredCrossMinModule -> LayeredCrossMinModule -> Bool) -> Eq LayeredCrossMinModule forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: LayeredCrossMinModule -> LayeredCrossMinModule -> Bool == :: LayeredCrossMinModule -> LayeredCrossMinModule -> Bool $c/= :: LayeredCrossMinModule -> LayeredCrossMinModule -> Bool /= :: LayeredCrossMinModule -> LayeredCrossMinModule -> Bool Eq, Eq LayeredCrossMinModule Eq LayeredCrossMinModule -> (LayeredCrossMinModule -> LayeredCrossMinModule -> Ordering) -> (LayeredCrossMinModule -> LayeredCrossMinModule -> Bool) -> (LayeredCrossMinModule -> LayeredCrossMinModule -> Bool) -> (LayeredCrossMinModule -> LayeredCrossMinModule -> Bool) -> (LayeredCrossMinModule -> LayeredCrossMinModule -> Bool) -> (LayeredCrossMinModule -> LayeredCrossMinModule -> LayeredCrossMinModule) -> (LayeredCrossMinModule -> LayeredCrossMinModule -> LayeredCrossMinModule) -> Ord LayeredCrossMinModule LayeredCrossMinModule -> LayeredCrossMinModule -> Bool LayeredCrossMinModule -> LayeredCrossMinModule -> Ordering LayeredCrossMinModule -> LayeredCrossMinModule -> LayeredCrossMinModule 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 :: LayeredCrossMinModule -> LayeredCrossMinModule -> Ordering compare :: LayeredCrossMinModule -> LayeredCrossMinModule -> Ordering $c< :: LayeredCrossMinModule -> LayeredCrossMinModule -> Bool < :: LayeredCrossMinModule -> LayeredCrossMinModule -> Bool $c<= :: LayeredCrossMinModule -> LayeredCrossMinModule -> Bool <= :: LayeredCrossMinModule -> LayeredCrossMinModule -> Bool $c> :: LayeredCrossMinModule -> LayeredCrossMinModule -> Bool > :: LayeredCrossMinModule -> LayeredCrossMinModule -> Bool $c>= :: LayeredCrossMinModule -> LayeredCrossMinModule -> Bool >= :: LayeredCrossMinModule -> LayeredCrossMinModule -> Bool $cmax :: LayeredCrossMinModule -> LayeredCrossMinModule -> LayeredCrossMinModule max :: LayeredCrossMinModule -> LayeredCrossMinModule -> LayeredCrossMinModule $cmin :: LayeredCrossMinModule -> LayeredCrossMinModule -> LayeredCrossMinModule min :: LayeredCrossMinModule -> LayeredCrossMinModule -> LayeredCrossMinModule Ord, Int -> LayeredCrossMinModule -> ShowS [LayeredCrossMinModule] -> ShowS LayeredCrossMinModule -> String (Int -> LayeredCrossMinModule -> ShowS) -> (LayeredCrossMinModule -> String) -> ([LayeredCrossMinModule] -> ShowS) -> Show LayeredCrossMinModule forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> LayeredCrossMinModule -> ShowS showsPrec :: Int -> LayeredCrossMinModule -> ShowS $cshow :: LayeredCrossMinModule -> String show :: LayeredCrossMinModule -> String $cshowList :: [LayeredCrossMinModule] -> ShowS showList :: [LayeredCrossMinModule] -> ShowS Show) instance () => FPtr (LayeredCrossMinModule) where type Raw LayeredCrossMinModule = RawLayeredCrossMinModule get_fptr :: LayeredCrossMinModule -> Ptr (Raw LayeredCrossMinModule) get_fptr (LayeredCrossMinModule Ptr RawLayeredCrossMinModule ptr) = Ptr (Raw LayeredCrossMinModule) Ptr RawLayeredCrossMinModule ptr cast_fptr_to_obj :: Ptr (Raw LayeredCrossMinModule) -> LayeredCrossMinModule cast_fptr_to_obj = Ptr (Raw LayeredCrossMinModule) -> LayeredCrossMinModule Ptr RawLayeredCrossMinModule -> LayeredCrossMinModule LayeredCrossMinModule