{-# OPTIONS_GHC -Wall #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-orphans #-} {-# Language ForeignFunctionInterface #-} {-# Language FlexibleInstances #-} {-# Language MultiParamTypeClasses #-} module Casadi.Wrappers.Classes.SharedObject ( SharedObject, SharedObjectClass(..), sharedObject_assertInit, sharedObject_checkNode, sharedObject_init, sharedObject_init', sharedObject_isInit, sharedObject_isNull, sharedObject_makeUnique, sharedObject_makeUnique', sharedObject_printPtr', ) where import Prelude hiding ( Functor ) import Data.Vector ( Vector ) import Foreign.C.Types import Foreign.Ptr ( Ptr ) import Foreign.ForeignPtr ( newForeignPtr ) import System.IO.Unsafe ( unsafePerformIO ) -- for show instances import Casadi.Wrappers.Classes.PrintableObject import Casadi.Wrappers.CToolsInstances ( ) import Casadi.Wrappers.Data import Casadi.Wrappers.Enums import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream' import Casadi.Marshal ( Marshal(..), withMarshal ) import Casadi.WrapReturn ( WrapReturn(..) ) instance Show SharedObject where show = unsafePerformIO . printableObject_getDescription -- direct wrapper foreign import ccall unsafe "CasADi__SharedObject__printPtr_TIC" c_CasADi__SharedObject__printPtr_TIC :: Ptr SharedObject' -> IO () casADi__SharedObject__printPtr' :: SharedObject -> IO () casADi__SharedObject__printPtr' x0 = withMarshal x0 $ \x0' -> c_CasADi__SharedObject__printPtr_TIC x0' >>= wrapReturn -- classy wrapper sharedObject_printPtr' :: SharedObjectClass a => a -> IO () sharedObject_printPtr' x = casADi__SharedObject__printPtr' (castSharedObject x) -- direct wrapper foreign import ccall unsafe "CasADi__SharedObject__init" c_CasADi__SharedObject__init :: Ptr SharedObject' -> CInt -> IO () casADi__SharedObject__init :: SharedObject -> Bool -> IO () casADi__SharedObject__init x0 x1 = withMarshal x0 $ \x0' -> withMarshal x1 $ \x1' -> c_CasADi__SharedObject__init x0' x1' >>= wrapReturn -- classy wrapper {-| >Initialize or re-initialize the object: > >more documentation in the node class ( SharedObjectNode and derived classes) -} sharedObject_init :: SharedObjectClass a => a -> Bool -> IO () sharedObject_init x = casADi__SharedObject__init (castSharedObject x) -- direct wrapper foreign import ccall unsafe "CasADi__SharedObject__init_TIC" c_CasADi__SharedObject__init_TIC :: Ptr SharedObject' -> IO () casADi__SharedObject__init' :: SharedObject -> IO () casADi__SharedObject__init' x0 = withMarshal x0 $ \x0' -> c_CasADi__SharedObject__init_TIC x0' >>= wrapReturn -- classy wrapper sharedObject_init' :: SharedObjectClass a => a -> IO () sharedObject_init' x = casADi__SharedObject__init' (castSharedObject x) -- direct wrapper foreign import ccall unsafe "CasADi__SharedObject__isInit" c_CasADi__SharedObject__isInit :: Ptr SharedObject' -> IO CInt casADi__SharedObject__isInit :: SharedObject -> IO Bool casADi__SharedObject__isInit x0 = withMarshal x0 $ \x0' -> c_CasADi__SharedObject__isInit x0' >>= wrapReturn -- classy wrapper {-| >Is initialized? -} sharedObject_isInit :: SharedObjectClass a => a -> IO Bool sharedObject_isInit x = casADi__SharedObject__isInit (castSharedObject x) -- direct wrapper foreign import ccall unsafe "CasADi__SharedObject__assertInit" c_CasADi__SharedObject__assertInit :: Ptr SharedObject' -> IO () casADi__SharedObject__assertInit :: SharedObject -> IO () casADi__SharedObject__assertInit x0 = withMarshal x0 $ \x0' -> c_CasADi__SharedObject__assertInit x0' >>= wrapReturn -- classy wrapper {-| >[INTERNAL] Assert >that it is initialized -} sharedObject_assertInit :: SharedObjectClass a => a -> IO () sharedObject_assertInit x = casADi__SharedObject__assertInit (castSharedObject x) -- direct wrapper foreign import ccall unsafe "CasADi__SharedObject__isNull" c_CasADi__SharedObject__isNull :: Ptr SharedObject' -> IO CInt casADi__SharedObject__isNull :: SharedObject -> IO Bool casADi__SharedObject__isNull x0 = withMarshal x0 $ \x0' -> c_CasADi__SharedObject__isNull x0' >>= wrapReturn -- classy wrapper {-| >Is a null pointer? -} sharedObject_isNull :: SharedObjectClass a => a -> IO Bool sharedObject_isNull x = casADi__SharedObject__isNull (castSharedObject x) -- direct wrapper foreign import ccall unsafe "CasADi__SharedObject__checkNode" c_CasADi__SharedObject__checkNode :: Ptr SharedObject' -> IO CInt casADi__SharedObject__checkNode :: SharedObject -> IO Bool casADi__SharedObject__checkNode x0 = withMarshal x0 $ \x0' -> c_CasADi__SharedObject__checkNode x0' >>= wrapReturn -- classy wrapper {-| >[INTERNAL] Assert >that the node is pointing to the right type of object -} sharedObject_checkNode :: SharedObjectClass a => a -> IO Bool sharedObject_checkNode x = casADi__SharedObject__checkNode (castSharedObject x) -- direct wrapper foreign import ccall unsafe "CasADi__SharedObject__makeUnique" c_CasADi__SharedObject__makeUnique :: Ptr SharedObject' -> CInt -> IO () casADi__SharedObject__makeUnique :: SharedObject -> Bool -> IO () casADi__SharedObject__makeUnique x0 x1 = withMarshal x0 $ \x0' -> withMarshal x1 $ \x1' -> c_CasADi__SharedObject__makeUnique x0' x1' >>= wrapReturn -- classy wrapper {-| >> void CasADi::SharedObject::makeUnique(bool clone_members=true) >------------------------------------------------------------------------ > >If there are other references to the object, then make a deep copy of it and >point to this new object > >> void CasADi::SharedObject::makeUnique(std::map< SharedObjectNode *, SharedObject > &already_copied, bool clone_members=true) >------------------------------------------------------------------------ >[INTERNAL] >SWIGINTERNAL -} sharedObject_makeUnique :: SharedObjectClass a => a -> Bool -> IO () sharedObject_makeUnique x = casADi__SharedObject__makeUnique (castSharedObject x) -- direct wrapper foreign import ccall unsafe "CasADi__SharedObject__makeUnique_TIC" c_CasADi__SharedObject__makeUnique_TIC :: Ptr SharedObject' -> IO () casADi__SharedObject__makeUnique' :: SharedObject -> IO () casADi__SharedObject__makeUnique' x0 = withMarshal x0 $ \x0' -> c_CasADi__SharedObject__makeUnique_TIC x0' >>= wrapReturn -- classy wrapper sharedObject_makeUnique' :: SharedObjectClass a => a -> IO () sharedObject_makeUnique' x = casADi__SharedObject__makeUnique' (castSharedObject x)