Copyright | (c) 2011-2017 Ian-Woo Kim |
---|---|
License | BSD3 |
Maintainer | Ian-Woo Kim <ianwookim@gmail.com> |
Stability | experimental |
Portability | GHC |
Safe Haskell | Safe |
Language | Haskell98 |
Documentation
class Castable a b where Source #
Instances
Castable Double CDouble Source # | |
Castable Int CInt Source # | |
Castable Word CUInt Source # | |
Castable Word8 CChar Source # | |
Castable () () Source # | |
Castable CInt CInt Source # | |
Castable CUInt CUInt Source # | |
Castable CLong CLong Source # | |
Castable CULong CULong Source # | |
Castable CDouble CDouble Source # | |
Castable ByteString CString Source # | |
Defined in FFICXX.Runtime.Cast | |
Castable [Double] (Ptr CDouble) Source # | |
Castable [Int] (Ptr CInt) Source # | |
Castable [ByteString] (Ptr CString) Source # | |
Castable (Ptr ()) (Ptr ()) Source # | |
Castable (Ptr CString) (Ptr CString) Source # | |
Castable (Ptr CChar) (Ptr CChar) Source # | |
Castable (Ptr CInt) (Ptr CInt) Source # | |
Castable (Ptr CUInt) (Ptr CUInt) Source # | |
Castable (Ptr CLong) (Ptr CLong) Source # | |
Castable (Ptr CULong) (Ptr CULong) Source # | |
Castable (Ptr CDouble) (Ptr CDouble) Source # | |
Castable (FunPtr t) (FunPtr t) Source # | |
Castable (Function t) (Ptr (RawFunction t)) Source # | |
class FunPtrWrappable a where Source #
fptrWrap :: FunPtrWrapped a -> IO (FunPtr (FunPtrType a)) Source #
wrap :: FunPtrHsType a -> FunPtrWrapped a Source #
Instances
IsCType CString Source # | |
Defined in FFICXX.Runtime.Cast | |
IsCType CChar Source # | |
Defined in FFICXX.Runtime.Cast | |
IsCType CInt Source # | |
Defined in FFICXX.Runtime.Cast | |
IsCType CUInt Source # | |
Defined in FFICXX.Runtime.Cast | |
IsCType CLong Source # | |
Defined in FFICXX.Runtime.Cast | |
IsCType CULong Source # | |
Defined in FFICXX.Runtime.Cast |
xform1 :: (Castable a ca, Castable x1 cx1, Castable y cy) => (ca -> cx1 -> IO cy) -> a -> x1 -> IO y Source #
xform2 :: (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable y cy) => (ca -> cx1 -> cx2 -> IO cy) -> a -> x1 -> x2 -> IO y Source #
xform3 :: (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> IO cy) -> a -> x1 -> x2 -> x3 -> IO y Source #
xform4 :: (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> IO y Source #
xform5 :: (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable x5 cx5, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> cx5 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> x5 -> IO y Source #
xform6 :: (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable x5 cx5, Castable x6 cx6, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> cx5 -> cx6 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> x5 -> x6 -> IO y Source #
xform7 :: (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable x5 cx5, Castable x6 cx6, Castable x7 cx7, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> cx5 -> cx6 -> cx7 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> x5 -> x6 -> x7 -> IO y Source #
xform8 :: (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable x5 cx5, Castable x6 cx6, Castable x7 cx7, Castable x8 cx8, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> cx5 -> cx6 -> cx7 -> cx8 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> x5 -> x6 -> x7 -> x8 -> IO y Source #
xform9 :: (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable x5 cx5, Castable x6 cx6, Castable x7 cx7, Castable x8 cx8, Castable x9 cx9, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> cx5 -> cx6 -> cx7 -> cx8 -> cx9 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> x5 -> x6 -> x7 -> x8 -> x9 -> IO y Source #
xform10 :: (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable x5 cx5, Castable x6 cx6, Castable x7 cx7, Castable x8 cx8, Castable x9 cx9, Castable x10 cx10, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> cx5 -> cx6 -> cx7 -> cx8 -> cx9 -> cx10 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> x5 -> x6 -> x7 -> x8 -> x9 -> x10 -> IO y Source #
xform11 :: (Castable a ca, Castable x1 cx1, Castable x2 cx2, Castable x3 cx3, Castable x4 cx4, Castable x5 cx5, Castable x6 cx6, Castable x7 cx7, Castable x8 cx8, Castable x9 cx9, Castable x10 cx10, Castable x11 cx11, Castable y cy) => (ca -> cx1 -> cx2 -> cx3 -> cx4 -> cx5 -> cx6 -> cx7 -> cx8 -> cx9 -> cx10 -> cx11 -> IO cy) -> a -> x1 -> x2 -> x3 -> x4 -> x5 -> x6 -> x7 -> x8 -> x9 -> x10 -> x11 -> IO y Source #