{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances, MultiParamTypeClasses, OverlappingInstances, TemplateHaskell, TypeFamilies, TypeSynonymInstances #-} module OGDF.EdgeElement.Implementation where import Data.Monoid import Data.Word import Data.Int import Foreign.C import Foreign.Ptr import Language.Haskell.TH import Language.Haskell.TH.Syntax import System.IO.Unsafe import FFICXX.Runtime.Cast import FFICXX.Runtime.CodeGen.Cxx import FFICXX.Runtime.TH import OGDF.EdgeElement.RawType import OGDF.EdgeElement.FFI import OGDF.EdgeElement.Interface import OGDF.EdgeElement.Cast import OGDF.EdgeElement.RawType import OGDF.EdgeElement.Cast import OGDF.EdgeElement.Interface import OGDF.NodeElement.RawType import OGDF.NodeElement.Cast import OGDF.NodeElement.Interface import STD.Deletable.RawType import STD.Deletable.Cast import STD.Deletable.Interface instance () => IEdgeElement (EdgeElement) where instance () => IDeletable (EdgeElement) where delete :: EdgeElement -> IO () delete = (Ptr RawEdgeElement -> IO ()) -> EdgeElement -> IO () forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawEdgeElement -> IO () c_edgeelement_delete edgeElement_index :: () => EdgeElement -> IO CInt edgeElement_index :: EdgeElement -> IO CInt edgeElement_index = (Ptr RawEdgeElement -> IO CInt) -> EdgeElement -> IO CInt forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawEdgeElement -> IO CInt c_edgeelement_edgeelement_index edgeElement_source :: () => EdgeElement -> IO NodeElement edgeElement_source :: EdgeElement -> IO NodeElement edgeElement_source = (Ptr RawEdgeElement -> IO (Ptr RawNodeElement)) -> EdgeElement -> IO NodeElement forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawEdgeElement -> IO (Ptr RawNodeElement) c_edgeelement_edgeelement_source edgeElement_target :: () => EdgeElement -> IO NodeElement edgeElement_target :: EdgeElement -> IO NodeElement edgeElement_target = (Ptr RawEdgeElement -> IO (Ptr RawNodeElement)) -> EdgeElement -> IO NodeElement forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawEdgeElement -> IO (Ptr RawNodeElement) c_edgeelement_edgeelement_target edgeElement_succ :: () => EdgeElement -> IO EdgeElement edgeElement_succ :: EdgeElement -> IO EdgeElement edgeElement_succ = (Ptr RawEdgeElement -> IO (Ptr RawEdgeElement)) -> EdgeElement -> IO EdgeElement forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawEdgeElement -> IO (Ptr RawEdgeElement) c_edgeelement_edgeelement_succ edgeElement_pred :: () => EdgeElement -> IO EdgeElement edgeElement_pred :: EdgeElement -> IO EdgeElement edgeElement_pred = (Ptr RawEdgeElement -> IO (Ptr RawEdgeElement)) -> EdgeElement -> IO EdgeElement forall a ca y cy. (Castable a ca, Castable y cy) => (ca -> IO cy) -> a -> IO y xform0 Ptr RawEdgeElement -> IO (Ptr RawEdgeElement) c_edgeelement_edgeelement_pred