{-# LANGUAGE ForeignFunctionInterface #-} module Clingo.Raw.Inspection.Theory ( -- * Term Inspection theoryAtomsTermType, theoryAtomsTermNumber, theoryAtomsTermName, theoryAtomsTermArguments, theoryAtomsTermToStringSize, theoryAtomsTermToString, -- * Element Inspection theoryAtomsElementTuple, theoryAtomsElementCondition, theoryAtomsElementConditionId, theoryAtomsElementToStringSize, theoryAtomsElementToString, -- * Atom Inspection theoryAtomsSize, theoryAtomsAtomTerm, theoryAtomsAtomElements, theoryAtomsAtomHasGuard, theoryAtomsAtomGuard, theoryAtomsAtomLiteral, theoryAtomsAtomToStringSize, theoryAtomsAtomToString ) where import Control.Monad.IO.Class import Foreign import Foreign.C import Clingo.Raw.Types import Clingo.Raw.Enums foreign import ccall "clingo.h clingo_theory_atoms_term_type" theoryAtomsTermTypeFFI :: TheoryAtoms -> Identifier -> Ptr TheoryTermType -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_term_number" theoryAtomsTermNumberFFI :: TheoryAtoms -> Identifier -> Ptr CInt -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_term_name" theoryAtomsTermNameFFI :: TheoryAtoms -> Identifier -> Ptr CString -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_term_arguments" theoryAtomsTermArgumentsFFI :: TheoryAtoms -> Identifier -> Ptr (Ptr Identifier) -> Ptr CSize -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_term_to_string_size" theoryAtomsTermToStringSizeFFI :: TheoryAtoms -> Identifier -> Ptr CSize -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_term_to_string" theoryAtomsTermToStringFFI :: TheoryAtoms -> Identifier -> Ptr CChar -> CSize -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_element_tuple" theoryAtomsElementTupleFFI :: TheoryAtoms -> Identifier -> Ptr (Ptr Identifier) -> Ptr CSize -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_element_condition" theoryAtomsElementConditionFFI :: TheoryAtoms -> Identifier -> Ptr (Ptr Literal) -> Ptr CSize -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_element_condition_id" theoryAtomsElementConditionIdFFI :: TheoryAtoms -> Identifier -> Ptr Literal -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_element_to_string_size" theoryAtomsElementToStringSizeFFI :: TheoryAtoms -> Identifier -> Ptr CSize -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_element_to_string" theoryAtomsElementToStringFFI :: TheoryAtoms -> Identifier -> Ptr CChar -> CSize -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_size" theoryAtomsSizeFFI :: TheoryAtoms -> Ptr CSize -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_atom_term" theoryAtomsAtomTermFFI :: TheoryAtoms -> Identifier -> Ptr Identifier -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_atom_elements" theoryAtomsAtomElementsFFI :: TheoryAtoms -> Identifier -> Ptr (Ptr Identifier) -> Ptr CSize -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_atom_has_guard" theoryAtomsAtomHasGuardFFI :: TheoryAtoms -> Identifier -> Ptr CBool -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_atom_guard" theoryAtomsAtomGuardFFI :: TheoryAtoms -> Identifier -> Ptr CString -> Ptr Identifier -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_atom_literal" theoryAtomsAtomLiteralFFI :: TheoryAtoms -> Identifier -> Ptr Literal -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_atom_to_string_size" theoryAtomsAtomToStringSizeFFI :: TheoryAtoms -> Identifier -> Ptr CSize -> IO CBool foreign import ccall "clingo.h clingo_theory_atoms_atom_to_string" theoryAtomsAtomToStringFFI :: TheoryAtoms -> Identifier -> Ptr CChar -> CSize -> IO CBool theoryAtomsTermType :: MonadIO m => TheoryAtoms -> Identifier -> Ptr TheoryTermType -> m CBool theoryAtomsTermType a b c = liftIO $ theoryAtomsTermTypeFFI a b c theoryAtomsTermNumber :: MonadIO m => TheoryAtoms -> Identifier -> Ptr CInt -> m CBool theoryAtomsTermNumber a b c = liftIO $ theoryAtomsTermNumberFFI a b c theoryAtomsTermName :: MonadIO m => TheoryAtoms -> Identifier -> Ptr CString -> m CBool theoryAtomsTermName a b c = liftIO $ theoryAtomsTermNameFFI a b c theoryAtomsTermArguments :: MonadIO m => TheoryAtoms -> Identifier -> Ptr (Ptr Identifier) -> Ptr CSize -> m CBool theoryAtomsTermArguments a b c d = liftIO $ theoryAtomsTermArgumentsFFI a b c d theoryAtomsTermToStringSize :: MonadIO m => TheoryAtoms -> Identifier -> Ptr CSize -> m CBool theoryAtomsTermToStringSize a b c = liftIO $ theoryAtomsTermToStringSizeFFI a b c theoryAtomsTermToString :: MonadIO m => TheoryAtoms -> Identifier -> Ptr CChar -> CSize -> m CBool theoryAtomsTermToString a b c d = liftIO $ theoryAtomsTermToStringFFI a b c d theoryAtomsElementTuple :: MonadIO m => TheoryAtoms -> Identifier -> Ptr (Ptr Identifier) -> Ptr CSize -> m CBool theoryAtomsElementTuple a b c d = liftIO $ theoryAtomsElementTupleFFI a b c d theoryAtomsElementCondition :: MonadIO m => TheoryAtoms -> Identifier -> Ptr (Ptr Literal) -> Ptr CSize -> m CBool theoryAtomsElementCondition a b c d = liftIO $ theoryAtomsElementConditionFFI a b c d theoryAtomsElementConditionId :: MonadIO m => TheoryAtoms -> Identifier -> Ptr Literal -> m CBool theoryAtomsElementConditionId a b c = liftIO $ theoryAtomsElementConditionIdFFI a b c theoryAtomsElementToStringSize :: MonadIO m => TheoryAtoms -> Identifier -> Ptr CSize -> m CBool theoryAtomsElementToStringSize a b c = liftIO $ theoryAtomsElementToStringSizeFFI a b c theoryAtomsElementToString :: MonadIO m => TheoryAtoms -> Identifier -> Ptr CChar -> CSize -> m CBool theoryAtomsElementToString a b c d = liftIO $ theoryAtomsElementToStringFFI a b c d theoryAtomsSize :: MonadIO m => TheoryAtoms -> Ptr CSize -> m CBool theoryAtomsSize a b = liftIO $ theoryAtomsSizeFFI a b theoryAtomsAtomTerm :: MonadIO m => TheoryAtoms -> Identifier -> Ptr Identifier -> m CBool theoryAtomsAtomTerm a b c = liftIO $ theoryAtomsAtomTermFFI a b c theoryAtomsAtomElements :: MonadIO m => TheoryAtoms -> Identifier -> Ptr (Ptr Identifier) -> Ptr CSize -> m CBool theoryAtomsAtomElements a b c d = liftIO $ theoryAtomsAtomElementsFFI a b c d theoryAtomsAtomHasGuard :: MonadIO m => TheoryAtoms -> Identifier -> Ptr CBool -> m CBool theoryAtomsAtomHasGuard a b c = liftIO $ theoryAtomsAtomHasGuardFFI a b c theoryAtomsAtomGuard :: MonadIO m => TheoryAtoms -> Identifier -> Ptr CString -> Ptr Identifier -> m CBool theoryAtomsAtomGuard a b c d = liftIO $ theoryAtomsAtomGuardFFI a b c d theoryAtomsAtomLiteral :: MonadIO m => TheoryAtoms -> Identifier -> Ptr Literal -> m CBool theoryAtomsAtomLiteral a b c = liftIO $ theoryAtomsAtomLiteralFFI a b c theoryAtomsAtomToStringSize :: MonadIO m => TheoryAtoms -> Identifier -> Ptr CSize -> m CBool theoryAtomsAtomToStringSize a b c = liftIO $ theoryAtomsAtomToStringSizeFFI a b c theoryAtomsAtomToString :: MonadIO m => TheoryAtoms -> Identifier -> Ptr CChar -> CSize -> m CBool theoryAtomsAtomToString a b c d = liftIO $ theoryAtomsAtomToStringFFI a b c d