gi-gio-2.0.29: Gio bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Gio.Objects.BufferedOutputStream

Description

Buffered output stream implements FilterOutputStream and provides for buffered writes.

By default, BufferedOutputStream's buffer size is set at 4 kilobytes.

To create a buffered output stream, use bufferedOutputStreamNew, or bufferedOutputStreamNewSized to specify the buffer's size at construction.

To get the size of a buffer within a buffered input stream, use bufferedOutputStreamGetBufferSize. To change the size of a buffered output stream's buffer, use bufferedOutputStreamSetBufferSize. Note that the buffer's size cannot be reduced below the size of the data within the buffer.

Synopsis

Exported types

class (GObject o, IsDescendantOf BufferedOutputStream o) => IsBufferedOutputStream o Source #

Type class for types which can be safely cast to BufferedOutputStream, for instance with toBufferedOutputStream.

Instances

Instances details
(GObject o, IsDescendantOf BufferedOutputStream o) => IsBufferedOutputStream o Source # 
Instance details

Defined in GI.Gio.Objects.BufferedOutputStream

toBufferedOutputStream :: (MonadIO m, IsBufferedOutputStream o) => o -> m BufferedOutputStream Source #

Cast to BufferedOutputStream, for types for which this is known to be safe. For general casts, use castTo.

Methods

getAutoGrow

bufferedOutputStreamGetAutoGrow Source #

Arguments

:: (HasCallStack, MonadIO m, IsBufferedOutputStream a) 
=> a

stream: a BufferedOutputStream.

-> m Bool

Returns: True if the stream's buffer automatically grows, False otherwise.

Checks if the buffer automatically grows as data is added.

getBufferSize

bufferedOutputStreamGetBufferSize Source #

Arguments

:: (HasCallStack, MonadIO m, IsBufferedOutputStream a) 
=> a

stream: a BufferedOutputStream.

-> m Word64

Returns: the current size of the buffer.

Gets the size of the buffer in the stream.

new

bufferedOutputStreamNew Source #

Arguments

:: (HasCallStack, MonadIO m, IsOutputStream a) 
=> a

baseStream: a OutputStream.

-> m BufferedOutputStream

Returns: a OutputStream for the given baseStream.

Creates a new buffered output stream for a base stream.

newSized

bufferedOutputStreamNewSized Source #

Arguments

:: (HasCallStack, MonadIO m, IsOutputStream a) 
=> a

baseStream: a OutputStream.

-> Word64

size: a gsize.

-> m BufferedOutputStream

Returns: a OutputStream with an internal buffer set to size.

Creates a new buffered output stream with a given buffer size.

setAutoGrow

bufferedOutputStreamSetAutoGrow Source #

Arguments

:: (HasCallStack, MonadIO m, IsBufferedOutputStream a) 
=> a

stream: a BufferedOutputStream.

-> Bool

autoGrow: a Bool.

-> m () 

Sets whether or not the stream's buffer should automatically grow. If autoGrow is true, then each write will just make the buffer larger, and you must manually flush the buffer to actually write out the data to the underlying stream.

setBufferSize

bufferedOutputStreamSetBufferSize Source #

Arguments

:: (HasCallStack, MonadIO m, IsBufferedOutputStream a) 
=> a

stream: a BufferedOutputStream.

-> Word64

size: a gsize.

-> m () 

Sets the size of the internal buffer to size.

Properties

autoGrow

No description available in the introspection data.

constructBufferedOutputStreamAutoGrow :: (IsBufferedOutputStream o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “auto-grow” property. This is rarely needed directly, but it is used by new.

getBufferedOutputStreamAutoGrow :: (MonadIO m, IsBufferedOutputStream o) => o -> m Bool Source #

Get the value of the “auto-grow” property. When overloading is enabled, this is equivalent to

get bufferedOutputStream #autoGrow

setBufferedOutputStreamAutoGrow :: (MonadIO m, IsBufferedOutputStream o) => o -> Bool -> m () Source #

Set the value of the “auto-grow” property. When overloading is enabled, this is equivalent to

set bufferedOutputStream [ #autoGrow := value ]

bufferSize

No description available in the introspection data.

constructBufferedOutputStreamBufferSize :: (IsBufferedOutputStream o, MonadIO m) => Word32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “buffer-size” property. This is rarely needed directly, but it is used by new.

getBufferedOutputStreamBufferSize :: (MonadIO m, IsBufferedOutputStream o) => o -> m Word32 Source #

Get the value of the “buffer-size” property. When overloading is enabled, this is equivalent to

get bufferedOutputStream #bufferSize

setBufferedOutputStreamBufferSize :: (MonadIO m, IsBufferedOutputStream o) => o -> Word32 -> m () Source #

Set the value of the “buffer-size” property. When overloading is enabled, this is equivalent to

set bufferedOutputStream [ #bufferSize := value ]