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

data RawOptimalRanking

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

instance () => FPtr (OptimalRanking) where
        type Raw OptimalRanking = RawOptimalRanking
        get_fptr :: OptimalRanking -> Ptr (Raw OptimalRanking)
get_fptr (OptimalRanking Ptr RawOptimalRanking
ptr) = Ptr (Raw OptimalRanking)
Ptr RawOptimalRanking
ptr
        cast_fptr_to_obj :: Ptr (Raw OptimalRanking) -> OptimalRanking
cast_fptr_to_obj = Ptr (Raw OptimalRanking) -> OptimalRanking
Ptr RawOptimalRanking -> OptimalRanking
OptimalRanking