hs-bindgen-1.0.0.0: test-artefacts/fixtures/edge-cases/iterator/Example/Safe.hs
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TemplateHaskell #-}
{-# OPTIONS_HADDOCK prune #-}
module Example.Safe
( Example.Safe.makeToggle
, Example.Safe.toggleNext
, Example.Safe.releaseToggle
, Example.Safe.makeCounter
, Example.Safe.counterNext
, Example.Safe.releaseCounter
, Example.Safe.makeVarCounter
, Example.Safe.varCounterNext
, Example.Safe.releaseVarCounter
)
where
import qualified HsBindgen.Runtime.Support as BG
import qualified HsBindgen.Runtime.Support.CAPI
import Example
import Prelude (IO, fmap)
$(HsBindgen.Runtime.Support.CAPI.addCSource (HsBindgen.Runtime.Support.CAPI.unlines
[ "#include <edge-cases/iterator.h>"
, "Toggle hs_bindgen_9d01035006b66206 ("
, " _Bool arg1"
, ")"
, "{"
, " return (makeToggle)(arg1);"
, "}"
, "_Bool hs_bindgen_ccd3ba727d0c0cf4 ("
, " Toggle arg1"
, ")"
, "{"
, " return (toggleNext)(arg1);"
, "}"
, "void hs_bindgen_602b40e971b06c72 ("
, " Toggle arg1"
, ")"
, "{"
, " (releaseToggle)(arg1);"
, "}"
, "Counter hs_bindgen_234fa6f1fb089e1d ("
, " signed int arg1,"
, " signed int arg2"
, ")"
, "{"
, " return (makeCounter)(arg1, arg2);"
, "}"
, "signed int hs_bindgen_f0fca62d78f225c3 ("
, " Counter arg1"
, ")"
, "{"
, " return (counterNext)(arg1);"
, "}"
, "void hs_bindgen_e42dcbee8a114957 ("
, " Counter arg1"
, ")"
, "{"
, " (releaseCounter)(arg1);"
, "}"
, "VarCounter hs_bindgen_2bee4eb5b4d895c1 ("
, " signed int arg1"
, ")"
, "{"
, " return (makeVarCounter)(arg1);"
, "}"
, "signed int hs_bindgen_276b9cb5320fec37 ("
, " VarCounter arg1,"
, " signed int arg2"
, ")"
, "{"
, " return (varCounterNext)(arg1, arg2);"
, "}"
, "void hs_bindgen_8423b076f7c9df21 ("
, " VarCounter arg1"
, ")"
, "{"
, " (releaseVarCounter)(arg1);"
, "}"
]))
-- __unique:__ @test_edgecasesiterator_Example_Safe_makeToggle@
foreign import ccall safe "hs_bindgen_9d01035006b66206" hs_bindgen_9d01035006b66206_base ::
BG.CBool
-> IO (BG.Ptr BG.Void)
-- __unique:__ @test_edgecasesiterator_Example_Safe_makeToggle@
hs_bindgen_9d01035006b66206 ::
BG.CBool
-> IO Toggle
hs_bindgen_9d01035006b66206 =
\x0 ->
fmap BG.fromFFIType (hs_bindgen_9d01035006b66206_base (BG.toFFIType x0))
{-| __C declaration:__ @makeToggle@
__defined at:__ @edge-cases\/iterator.h 4:8@
__exported by:__ @edge-cases\/iterator.h@
-}
makeToggle ::
BG.CBool
-- ^ __C declaration:__ @start@
-> IO Toggle
makeToggle = hs_bindgen_9d01035006b66206
-- __unique:__ @test_edgecasesiterator_Example_Safe_toggleNext@
foreign import ccall safe "hs_bindgen_ccd3ba727d0c0cf4" hs_bindgen_ccd3ba727d0c0cf4_base ::
BG.Ptr BG.Void
-> IO BG.CBool
-- __unique:__ @test_edgecasesiterator_Example_Safe_toggleNext@
hs_bindgen_ccd3ba727d0c0cf4 ::
Toggle
-> IO BG.CBool
hs_bindgen_ccd3ba727d0c0cf4 =
\x0 ->
fmap BG.fromFFIType (hs_bindgen_ccd3ba727d0c0cf4_base (BG.toFFIType x0))
{-| __C declaration:__ @toggleNext@
__defined at:__ @edge-cases\/iterator.h 5:6@
__exported by:__ @edge-cases\/iterator.h@
-}
toggleNext ::
Toggle
-- ^ __C declaration:__ @block@
-> IO BG.CBool
toggleNext = hs_bindgen_ccd3ba727d0c0cf4
-- __unique:__ @test_edgecasesiterator_Example_Safe_releaseToggle@
foreign import ccall safe "hs_bindgen_602b40e971b06c72" hs_bindgen_602b40e971b06c72_base ::
BG.Ptr BG.Void
-> IO ()
-- __unique:__ @test_edgecasesiterator_Example_Safe_releaseToggle@
hs_bindgen_602b40e971b06c72 ::
Toggle
-> IO ()
hs_bindgen_602b40e971b06c72 =
\x0 ->
hs_bindgen_602b40e971b06c72_base (BG.toFFIType x0)
{-| __C declaration:__ @releaseToggle@
__defined at:__ @edge-cases\/iterator.h 6:6@
__exported by:__ @edge-cases\/iterator.h@
-}
releaseToggle ::
Toggle
-- ^ __C declaration:__ @block@
-> IO ()
releaseToggle = hs_bindgen_602b40e971b06c72
-- __unique:__ @test_edgecasesiterator_Example_Safe_makeCounter@
foreign import ccall safe "hs_bindgen_234fa6f1fb089e1d" hs_bindgen_234fa6f1fb089e1d_base ::
BG.CInt
-> BG.CInt
-> IO (BG.Ptr BG.Void)
-- __unique:__ @test_edgecasesiterator_Example_Safe_makeCounter@
hs_bindgen_234fa6f1fb089e1d ::
BG.CInt
-> BG.CInt
-> IO Counter
hs_bindgen_234fa6f1fb089e1d =
\x0 ->
\x1 ->
fmap BG.fromFFIType (hs_bindgen_234fa6f1fb089e1d_base (BG.toFFIType x0) (BG.toFFIType x1))
{-| __C declaration:__ @makeCounter@
__defined at:__ @edge-cases\/iterator.h 11:9@
__exported by:__ @edge-cases\/iterator.h@
-}
makeCounter ::
BG.CInt
-- ^ __C declaration:__ @start@
-> BG.CInt
-- ^ __C declaration:__ @increment@
-> IO Counter
makeCounter = hs_bindgen_234fa6f1fb089e1d
-- __unique:__ @test_edgecasesiterator_Example_Safe_counterNext@
foreign import ccall safe "hs_bindgen_f0fca62d78f225c3" hs_bindgen_f0fca62d78f225c3_base ::
BG.Ptr BG.Void
-> IO BG.CInt
-- __unique:__ @test_edgecasesiterator_Example_Safe_counterNext@
hs_bindgen_f0fca62d78f225c3 ::
Counter
-> IO BG.CInt
hs_bindgen_f0fca62d78f225c3 =
\x0 ->
fmap BG.fromFFIType (hs_bindgen_f0fca62d78f225c3_base (BG.toFFIType x0))
{-| __C declaration:__ @counterNext@
__defined at:__ @edge-cases\/iterator.h 12:5@
__exported by:__ @edge-cases\/iterator.h@
-}
counterNext ::
Counter
-- ^ __C declaration:__ @block@
-> IO BG.CInt
counterNext = hs_bindgen_f0fca62d78f225c3
-- __unique:__ @test_edgecasesiterator_Example_Safe_releaseCounter@
foreign import ccall safe "hs_bindgen_e42dcbee8a114957" hs_bindgen_e42dcbee8a114957_base ::
BG.Ptr BG.Void
-> IO ()
-- __unique:__ @test_edgecasesiterator_Example_Safe_releaseCounter@
hs_bindgen_e42dcbee8a114957 ::
Counter
-> IO ()
hs_bindgen_e42dcbee8a114957 =
\x0 ->
hs_bindgen_e42dcbee8a114957_base (BG.toFFIType x0)
{-| __C declaration:__ @releaseCounter@
__defined at:__ @edge-cases\/iterator.h 13:6@
__exported by:__ @edge-cases\/iterator.h@
-}
releaseCounter ::
Counter
-- ^ __C declaration:__ @block@
-> IO ()
releaseCounter = hs_bindgen_e42dcbee8a114957
-- __unique:__ @test_edgecasesiterator_Example_Safe_makeVarCounter@
foreign import ccall safe "hs_bindgen_2bee4eb5b4d895c1" hs_bindgen_2bee4eb5b4d895c1_base ::
BG.CInt
-> IO (BG.Ptr BG.Void)
-- __unique:__ @test_edgecasesiterator_Example_Safe_makeVarCounter@
hs_bindgen_2bee4eb5b4d895c1 ::
BG.CInt
-> IO VarCounter
hs_bindgen_2bee4eb5b4d895c1 =
\x0 ->
fmap BG.fromFFIType (hs_bindgen_2bee4eb5b4d895c1_base (BG.toFFIType x0))
{-| __C declaration:__ @makeVarCounter@
__defined at:__ @edge-cases\/iterator.h 18:12@
__exported by:__ @edge-cases\/iterator.h@
-}
makeVarCounter ::
BG.CInt
-- ^ __C declaration:__ @start@
-> IO VarCounter
makeVarCounter = hs_bindgen_2bee4eb5b4d895c1
-- __unique:__ @test_edgecasesiterator_Example_Safe_varCounterNext@
foreign import ccall safe "hs_bindgen_276b9cb5320fec37" hs_bindgen_276b9cb5320fec37_base ::
BG.Ptr BG.Void
-> BG.CInt
-> IO BG.CInt
-- __unique:__ @test_edgecasesiterator_Example_Safe_varCounterNext@
hs_bindgen_276b9cb5320fec37 ::
VarCounter
-> BG.CInt
-> IO BG.CInt
hs_bindgen_276b9cb5320fec37 =
\x0 ->
\x1 ->
fmap BG.fromFFIType (hs_bindgen_276b9cb5320fec37_base (BG.toFFIType x0) (BG.toFFIType x1))
{-| __C declaration:__ @varCounterNext@
__defined at:__ @edge-cases\/iterator.h 19:5@
__exported by:__ @edge-cases\/iterator.h@
-}
varCounterNext ::
VarCounter
-- ^ __C declaration:__ @block@
-> BG.CInt
-- ^ __C declaration:__ @increment@
-> IO BG.CInt
varCounterNext = hs_bindgen_276b9cb5320fec37
-- __unique:__ @test_edgecasesiterator_Example_Safe_releaseVarCounter@
foreign import ccall safe "hs_bindgen_8423b076f7c9df21" hs_bindgen_8423b076f7c9df21_base ::
BG.Ptr BG.Void
-> IO ()
-- __unique:__ @test_edgecasesiterator_Example_Safe_releaseVarCounter@
hs_bindgen_8423b076f7c9df21 ::
VarCounter
-> IO ()
hs_bindgen_8423b076f7c9df21 =
\x0 ->
hs_bindgen_8423b076f7c9df21_base (BG.toFFIType x0)
{-| __C declaration:__ @releaseVarCounter@
__defined at:__ @edge-cases\/iterator.h 20:6@
__exported by:__ @edge-cases\/iterator.h@
-}
releaseVarCounter ::
VarCounter
-- ^ __C declaration:__ @block@
-> IO ()
releaseVarCounter = hs_bindgen_8423b076f7c9df21