packages feed

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