clingo-0.2.0.0: src/Clingo/Raw/Inspection/Symbolic.hs
{-# LANGUAGE ForeignFunctionInterface #-}
module Clingo.Raw.Inspection.Symbolic
(
symbolicAtomsSize,
symbolicAtomsBegin,
symbolicAtomsEnd,
symbolicAtomsFind,
symbolicAtomsIteratorIsEqualTo,
symbolicAtomsSymbol,
symbolicAtomsIsFact,
symbolicAtomsIsExternal,
symbolicAtomsLiteral,
symbolicAtomsSignaturesSize,
symbolicAtomsSignatures,
symbolicAtomsNext,
symbolicAtomsIsValid
)
where
import Control.Monad.IO.Class
import Foreign
import Foreign.C
import Clingo.Raw.Types
foreign import ccall "clingo.h clingo_symbolic_atoms_size" symbolicAtomsSizeFFI ::
SymbolicAtoms -> Ptr CSize -> IO CBool
foreign import ccall "clingo.h clingo_symbolic_atoms_begin" symbolicAtomsBeginFFI ::
SymbolicAtoms -> Ptr Signature -> Ptr SymbolicAtomIterator -> IO CBool
foreign import ccall "clingo.h clingo_symbolic_atoms_end" symbolicAtomsEndFFI ::
SymbolicAtoms -> Ptr SymbolicAtomIterator -> IO CBool
foreign import ccall "clingo.h clingo_symbolic_atoms_find" symbolicAtomsFindFFI ::
SymbolicAtoms -> Symbol -> Ptr SymbolicAtomIterator -> IO CBool
foreign import ccall "clingo.h clingo_symbolic_atoms_iterator_is_equal_to" symbolicAtomsIteratorIsEqualToFFI ::
SymbolicAtoms -> SymbolicAtomIterator -> SymbolicAtomIterator -> Ptr CBool -> IO CBool
foreign import ccall "clingo.h clingo_symbolic_atoms_symbol" symbolicAtomsSymbolFFI ::
SymbolicAtoms -> SymbolicAtomIterator -> Ptr Symbol -> IO CBool
foreign import ccall "clingo.h clingo_symbolic_atoms_is_fact" symbolicAtomsIsFactFFI ::
SymbolicAtoms -> SymbolicAtomIterator -> Ptr CBool -> IO CBool
foreign import ccall "clingo.h clingo_symbolic_atoms_is_external" symbolicAtomsIsExternalFFI ::
SymbolicAtoms -> SymbolicAtomIterator -> Ptr CBool -> IO CBool
foreign import ccall "clingo.h clingo_symbolic_atoms_literal" symbolicAtomsLiteralFFI ::
SymbolicAtoms -> SymbolicAtomIterator -> Ptr Literal -> IO CBool
foreign import ccall "clingo.h clingo_symbolic_atoms_signatures_size" symbolicAtomsSignaturesSizeFFI ::
SymbolicAtoms -> Ptr CSize -> IO CBool
foreign import ccall "clingo.h clingo_symbolic_atoms_signatures" symbolicAtomsSignaturesFFI ::
SymbolicAtoms -> Ptr Signature -> CSize -> IO CBool
foreign import ccall "clingo.h clingo_symbolic_atoms_next" symbolicAtomsNextFFI ::
SymbolicAtoms -> SymbolicAtomIterator -> Ptr SymbolicAtomIterator -> IO CBool
foreign import ccall "clingo.h clingo_symbolic_atoms_is_valid" symbolicAtomsIsValidFFI ::
SymbolicAtoms -> SymbolicAtomIterator -> Ptr CBool -> IO CBool
symbolicAtomsSize :: MonadIO m => SymbolicAtoms -> Ptr CSize -> m CBool
symbolicAtomsSize a b = liftIO $ symbolicAtomsSizeFFI a b
symbolicAtomsBegin :: MonadIO m => SymbolicAtoms -> Ptr Signature -> Ptr SymbolicAtomIterator -> m CBool
symbolicAtomsBegin a b c = liftIO $ symbolicAtomsBeginFFI a b c
symbolicAtomsEnd :: MonadIO m => SymbolicAtoms -> Ptr SymbolicAtomIterator -> m CBool
symbolicAtomsEnd a b = liftIO $ symbolicAtomsEndFFI a b
symbolicAtomsFind :: MonadIO m => SymbolicAtoms -> Symbol -> Ptr SymbolicAtomIterator -> m CBool
symbolicAtomsFind a b c = liftIO $ symbolicAtomsFindFFI a b c
symbolicAtomsIteratorIsEqualTo :: MonadIO m => SymbolicAtoms -> SymbolicAtomIterator -> SymbolicAtomIterator -> Ptr CBool -> m CBool
symbolicAtomsIteratorIsEqualTo a b c d = liftIO $ symbolicAtomsIteratorIsEqualToFFI a b c d
symbolicAtomsSymbol :: MonadIO m => SymbolicAtoms -> SymbolicAtomIterator -> Ptr Symbol -> m CBool
symbolicAtomsSymbol a b c = liftIO $ symbolicAtomsSymbolFFI a b c
symbolicAtomsIsFact :: MonadIO m => SymbolicAtoms -> SymbolicAtomIterator -> Ptr CBool -> m CBool
symbolicAtomsIsFact a b c = liftIO $ symbolicAtomsIsFactFFI a b c
symbolicAtomsIsExternal :: MonadIO m => SymbolicAtoms -> SymbolicAtomIterator -> Ptr CBool -> m CBool
symbolicAtomsIsExternal a b c = liftIO $ symbolicAtomsIsExternalFFI a b c
symbolicAtomsLiteral :: MonadIO m => SymbolicAtoms -> SymbolicAtomIterator -> Ptr Literal -> m CBool
symbolicAtomsLiteral a b c = liftIO $ symbolicAtomsLiteralFFI a b c
symbolicAtomsSignaturesSize :: MonadIO m => SymbolicAtoms -> Ptr CSize -> m CBool
symbolicAtomsSignaturesSize a b = liftIO $ symbolicAtomsSignaturesSizeFFI a b
symbolicAtomsSignatures :: MonadIO m => SymbolicAtoms -> Ptr Signature -> CSize -> m CBool
symbolicAtomsSignatures a b c = liftIO $ symbolicAtomsSignaturesFFI a b c
symbolicAtomsNext :: MonadIO m => SymbolicAtoms -> SymbolicAtomIterator -> Ptr SymbolicAtomIterator -> m CBool
symbolicAtomsNext a b c = liftIO $ symbolicAtomsNextFFI a b c
symbolicAtomsIsValid :: MonadIO m => SymbolicAtoms -> SymbolicAtomIterator -> Ptr CBool -> m CBool
symbolicAtomsIsValid a b c = liftIO $ symbolicAtomsIsValidFFI a b c