{-# LINE 1 "src/STD/CppString/FFI.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-}
module STD.CppString.FFI where
import Data.Word
import Data.Int
import Foreign.C
import Foreign.Ptr
import STD.CppString.RawType
import STD.CppString.RawType

foreign import ccall interruptible "STDCppString.h string_delete"
               c_string_delete :: Ptr RawCppString -> IO ()

foreign import ccall interruptible
               "STDCppString.h string_newCppString" c_string_newcppstring ::
               CString -> IO (Ptr RawCppString)

foreign import ccall interruptible
               "STDCppString.h string_cppString_c_str" c_string_cppstring_c_str ::
               Ptr RawCppString -> IO CString

foreign import ccall interruptible
               "STDCppString.h string_cppString_append" c_string_cppstring_append
               :: Ptr RawCppString -> Ptr RawCppString -> IO (Ptr RawCppString)

foreign import ccall interruptible
               "STDCppString.h string_cppString_erase" c_string_cppstring_erase ::
               Ptr RawCppString -> IO (Ptr RawCppString)