Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
The ParentBufferMeta
is a Meta
which can be attached to a Buffer
to hold a reference to another buffer that is only released when the child
Buffer
is released.
Typically, ParentBufferMeta
is used when the child buffer is directly
using the Memory
of the parent buffer, and wants to prevent the parent
buffer from being returned to a buffer pool until the Memory
is available
for re-use.
- newtype ParentBufferMeta = ParentBufferMeta (ManagedPtr ParentBufferMeta)
- newZeroParentBufferMeta :: MonadIO m => m ParentBufferMeta
- noParentBufferMeta :: Maybe ParentBufferMeta
- parentBufferMetaGetInfo :: (HasCallStack, MonadIO m) => m MetaInfo
- clearParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> m ()
- getParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> m (Maybe Buffer)
- setParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> Ptr Buffer -> m ()
- getParentBufferMetaParent :: MonadIO m => ParentBufferMeta -> m Meta
Exported types
newtype ParentBufferMeta Source #
WrappedPtr ParentBufferMeta Source # | |
(~) AttrOpTag tag AttrSet => Constructible ParentBufferMeta tag Source # | |
newZeroParentBufferMeta :: MonadIO m => m ParentBufferMeta Source #
Construct a ParentBufferMeta
struct initialized to zero.
Methods
getInfo
parentBufferMetaGetInfo Source #
:: (HasCallStack, MonadIO m) | |
=> m MetaInfo | Returns: The |
Get the global MetaInfo
describing the ParentBufferMeta
meta.
Since: 1.6
Properties
buffer
clearParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> m () Source #
getParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> m (Maybe Buffer) Source #
setParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> Ptr Buffer -> m () Source #
parent
getParentBufferMetaParent :: MonadIO m => ParentBufferMeta -> m Meta Source #