Gio::BufferedOutputStream Class Reference
[Stream Classes]

The buffered output stream implements FilterOutputStream and provides for buffered writes. More...

Inherits Gio::FilterOutputStream.

Inherited by Gio::DataOutputStream.

Collaboration diagram for Gio::BufferedOutputStream:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual ~BufferedOutputStream ()
GBufferedOutputStream* gobj ()
 Provides access to the underlying C GObject.
const GBufferedOutputStream* gobj () const
 Provides access to the underlying C GObject.
GBufferedOutputStream* gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
gsize get_buffer_size () const
 Gets the size of the buffer in the stream.
void set_buffer_size (gsize size)
 Sets the size of the internal buffer to size.
void set_auto_grow (bool auto_grow=true)
 Sets whether or not the stream's buffer should automatically grow.
bool get_auto_grow () const
 Checks if the buffer automatically grows as data is added.
Glib::PropertyProxy< guint > property_buffer_size ()
 The size of the backend buffer.
Glib::PropertyProxy_ReadOnly
< guint > 
property_buffer_size () const
 The size of the backend buffer.
Glib::PropertyProxy< bool > property_auto_grow ()
 Whether the buffer should automatically grow.
Glib::PropertyProxy_ReadOnly
< bool > 
property_auto_grow () const
 Whether the buffer should automatically grow.

Static Public Member Functions

static Glib::RefPtr
< BufferedOutputStream
create (const Glib::RefPtr< OutputStream >& base_stream)
static Glib::RefPtr
< BufferedOutputStream
create_sized (const Glib::RefPtr< OutputStream >& base_stream, gsize size)

Protected Member Functions

 BufferedOutputStream (const Glib::RefPtr< OutputStream >& base_stream)
 BufferedOutputStream (const Glib::RefPtr< OutputStream >& base_stream, gsize size)

Related Functions

(Note that these are not member functions.)



Glib::RefPtr
< Gio::BufferedOutputStream
wrap (GBufferedOutputStream* object, bool take_copy=false)
 A Glib::wrap() method for this object.

Detailed Description

The buffered output stream implements FilterOutputStream and provides for buffered writes.

By default, BufferedOutputStream's buffer size is set at 4 kilobytes, but you can specify this to the constructor.

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

Since glibmm 2.16:

Constructor & Destructor Documentation

virtual Gio::BufferedOutputStream::~BufferedOutputStream (  )  [virtual]
Gio::BufferedOutputStream::BufferedOutputStream ( const Glib::RefPtr< OutputStream >&  base_stream  )  [explicit, protected]
Gio::BufferedOutputStream::BufferedOutputStream ( const Glib::RefPtr< OutputStream >&  base_stream,
gsize  size 
) [explicit, protected]

Member Function Documentation

static Glib::RefPtr<BufferedOutputStream> Gio::BufferedOutputStream::create ( const Glib::RefPtr< OutputStream >&  base_stream  )  [static]

Reimplemented in Gio::DataOutputStream.

static Glib::RefPtr<BufferedOutputStream> Gio::BufferedOutputStream::create_sized ( const Glib::RefPtr< OutputStream >&  base_stream,
gsize  size 
) [static]
bool Gio::BufferedOutputStream::get_auto_grow (  )  const

Checks if the buffer automatically grows as data is added.

Returns:
true if the stream's buffer automatically grows, false otherwise.
gsize Gio::BufferedOutputStream::get_buffer_size (  )  const

Gets the size of the buffer in the stream.

Returns:
The current size of the buffer.
const GBufferedOutputStream* Gio::BufferedOutputStream::gobj (  )  const [inline]

Provides access to the underlying C GObject.

Reimplemented from Gio::FilterOutputStream.

Reimplemented in Gio::DataOutputStream.

GBufferedOutputStream* Gio::BufferedOutputStream::gobj (  )  [inline]

Provides access to the underlying C GObject.

Reimplemented from Gio::FilterOutputStream.

Reimplemented in Gio::DataOutputStream.

GBufferedOutputStream* Gio::BufferedOutputStream::gobj_copy (  ) 

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

Reimplemented from Gio::FilterOutputStream.

Reimplemented in Gio::DataOutputStream.

Glib::PropertyProxy_ReadOnly<bool> Gio::BufferedOutputStream::property_auto_grow (  )  const

Whether the buffer should automatically grow.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<bool> Gio::BufferedOutputStream::property_auto_grow (  ) 

Whether the buffer should automatically grow.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<guint> Gio::BufferedOutputStream::property_buffer_size (  )  const

The size of the backend buffer.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<guint> Gio::BufferedOutputStream::property_buffer_size (  ) 

The size of the backend buffer.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
void Gio::BufferedOutputStream::set_auto_grow ( bool  auto_grow = true  ) 

Sets whether or not the stream's buffer should automatically grow.

If auto_grow 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.

Parameters:
auto_grow A bool.
void Gio::BufferedOutputStream::set_buffer_size ( gsize  size  ) 

Sets the size of the internal buffer to size.

Parameters:
size A gsize.

Friends And Related Function Documentation

Glib::RefPtr< Gio::BufferedOutputStream > wrap ( GBufferedOutputStream *  object,
bool  take_copy = false 
) [related]

A Glib::wrap() method for this object.

Parameters:
object The C instance.
take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns:
A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

Generated on Fri Mar 26 11:48:23 2010 for glibmm by  doxygen 1.6.1