module GI.GLib.Structs.SequenceIter
(
SequenceIter(..) ,
noSequenceIter ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SequenceIterCompareMethodInfo ,
#endif
sequenceIterCompare ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SequenceIterGetPositionMethodInfo ,
#endif
sequenceIterGetPosition ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SequenceIterIsBeginMethodInfo ,
#endif
sequenceIterIsBegin ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SequenceIterIsEndMethodInfo ,
#endif
sequenceIterIsEnd ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
newtype SequenceIter = SequenceIter (ManagedPtr SequenceIter)
instance WrappedPtr SequenceIter where
wrappedPtrCalloc = return nullPtr
wrappedPtrCopy = return
wrappedPtrFree = Nothing
noSequenceIter :: Maybe SequenceIter
noSequenceIter = Nothing
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList SequenceIter
type instance O.AttributeList SequenceIter = SequenceIterAttributeList
type SequenceIterAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "g_sequence_iter_compare" g_sequence_iter_compare ::
Ptr SequenceIter ->
Ptr SequenceIter ->
IO Int32
sequenceIterCompare ::
(B.CallStack.HasCallStack, MonadIO m) =>
SequenceIter
-> SequenceIter
-> m Int32
sequenceIterCompare a b = liftIO $ do
a' <- unsafeManagedPtrGetPtr a
b' <- unsafeManagedPtrGetPtr b
result <- g_sequence_iter_compare a' b'
touchManagedPtr a
touchManagedPtr b
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SequenceIterCompareMethodInfo
instance (signature ~ (SequenceIter -> m Int32), MonadIO m) => O.MethodInfo SequenceIterCompareMethodInfo SequenceIter signature where
overloadedMethod _ = sequenceIterCompare
#endif
foreign import ccall "g_sequence_iter_get_position" g_sequence_iter_get_position ::
Ptr SequenceIter ->
IO Int32
sequenceIterGetPosition ::
(B.CallStack.HasCallStack, MonadIO m) =>
SequenceIter
-> m Int32
sequenceIterGetPosition iter = liftIO $ do
iter' <- unsafeManagedPtrGetPtr iter
result <- g_sequence_iter_get_position iter'
touchManagedPtr iter
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SequenceIterGetPositionMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo SequenceIterGetPositionMethodInfo SequenceIter signature where
overloadedMethod _ = sequenceIterGetPosition
#endif
foreign import ccall "g_sequence_iter_is_begin" g_sequence_iter_is_begin ::
Ptr SequenceIter ->
IO CInt
sequenceIterIsBegin ::
(B.CallStack.HasCallStack, MonadIO m) =>
SequenceIter
-> m Bool
sequenceIterIsBegin iter = liftIO $ do
iter' <- unsafeManagedPtrGetPtr iter
result <- g_sequence_iter_is_begin iter'
let result' = (/= 0) result
touchManagedPtr iter
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SequenceIterIsBeginMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo SequenceIterIsBeginMethodInfo SequenceIter signature where
overloadedMethod _ = sequenceIterIsBegin
#endif
foreign import ccall "g_sequence_iter_is_end" g_sequence_iter_is_end ::
Ptr SequenceIter ->
IO CInt
sequenceIterIsEnd ::
(B.CallStack.HasCallStack, MonadIO m) =>
SequenceIter
-> m Bool
sequenceIterIsEnd iter = liftIO $ do
iter' <- unsafeManagedPtrGetPtr iter
result <- g_sequence_iter_is_end iter'
let result' = (/= 0) result
touchManagedPtr iter
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SequenceIterIsEndMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo SequenceIterIsEndMethodInfo SequenceIter signature where
overloadedMethod _ = sequenceIterIsEnd
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveSequenceIterMethod (t :: Symbol) (o :: *) :: * where
ResolveSequenceIterMethod "compare" o = SequenceIterCompareMethodInfo
ResolveSequenceIterMethod "isBegin" o = SequenceIterIsBeginMethodInfo
ResolveSequenceIterMethod "isEnd" o = SequenceIterIsEndMethodInfo
ResolveSequenceIterMethod "getPosition" o = SequenceIterGetPositionMethodInfo
ResolveSequenceIterMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveSequenceIterMethod t SequenceIter, O.MethodInfo info SequenceIter p) => O.IsLabelProxy t (SequenceIter -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveSequenceIterMethod t SequenceIter, O.MethodInfo info SequenceIter p) => O.IsLabel t (SequenceIter -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#endif