Realistic 3D camera system
3D camera system components
Public Types | Public Member Functions | List of all members
asio::buffered_write_stream< Stream > Class Template Reference

Adds buffering to the write-related operations of a stream. More...

#include <buffered_write_stream.hpp>

Inheritance diagram for asio::buffered_write_stream< Stream >:
asio::detail::noncopyable

Public Types

typedef remove_reference< Stream >::type next_layer_type
 The type of the next layer. More...
 
typedef next_layer_type::lowest_layer_type lowest_layer_type
 The type of the lowest layer. More...
 

Public Member Functions

 ASIO_STATIC_CONSTANT (std::size_t, default_buffer_size=1024)
 
template<typename Arg >
 buffered_write_stream (Arg &a)
 Construct, passing the specified argument to initialise the next layer. More...
 
template<typename Arg >
 buffered_write_stream (Arg &a, std::size_t buffer_size)
 Construct, passing the specified argument to initialise the next layer. More...
 
next_layer_typenext_layer ()
 Get a reference to the next layer. More...
 
lowest_layer_typelowest_layer ()
 Get a reference to the lowest layer. More...
 
const lowest_layer_typelowest_layer () const
 Get a const reference to the lowest layer. More...
 
asio::io_serviceget_io_service ()
 Get the io_service associated with the object. More...
 
void close ()
 Close the stream. More...
 
asio::error_code close (asio::error_code &ec)
 Close the stream. More...
 
std::size_t flush ()
 
std::size_t flush (asio::error_code &ec)
 
template<typename WriteHandler >
 ASIO_INITFN_RESULT_TYPE (WriteHandler, void(asio::error_code, std::size_t)) async_flush(ASIO_MOVE_ARG(WriteHandler) handler)
 Start an asynchronous flush. More...
 
template<typename ConstBufferSequence >
std::size_t write_some (const ConstBufferSequence &buffers)
 
template<typename ConstBufferSequence >
std::size_t write_some (const ConstBufferSequence &buffers, asio::error_code &ec)
 
template<typename ConstBufferSequence , typename WriteHandler >
 ASIO_INITFN_RESULT_TYPE (WriteHandler, void(asio::error_code, std::size_t)) async_write_some(const ConstBufferSequence &buffers
 
 ASIO_MOVE_ARG (WriteHandler) handler)
 
template<typename MutableBufferSequence >
std::size_t read_some (const MutableBufferSequence &buffers)
 
template<typename MutableBufferSequence >
std::size_t read_some (const MutableBufferSequence &buffers, asio::error_code &ec)
 
template<typename MutableBufferSequence , typename ReadHandler >
 ASIO_INITFN_RESULT_TYPE (ReadHandler, void(asio::error_code, std::size_t)) async_read_some(const MutableBufferSequence &buffers
 
 ASIO_MOVE_ARG (ReadHandler) handler)
 
template<typename MutableBufferSequence >
std::size_t peek (const MutableBufferSequence &buffers)
 
template<typename MutableBufferSequence >
std::size_t peek (const MutableBufferSequence &buffers, asio::error_code &ec)
 
std::size_t in_avail ()
 Determine the amount of data that may be read without blocking. More...
 
std::size_t in_avail (asio::error_code &ec)
 Determine the amount of data that may be read without blocking. More...
 

Detailed Description

template<typename Stream>
class asio::buffered_write_stream< Stream >

Adds buffering to the write-related operations of a stream.

The buffered_write_stream class template can be used to add buffering to the synchronous and asynchronous write operations of a stream.

Thread Safety
Distinct objects: Safe.
Shared objects: Unsafe.
Concepts:
AsyncReadStream, AsyncWriteStream, Stream, SyncReadStream, SyncWriteStream.

Definition at line 48 of file buffered_write_stream.hpp.

Member Typedef Documentation

template<typename Stream >
typedef next_layer_type::lowest_layer_type asio::buffered_write_stream< Stream >::lowest_layer_type

The type of the lowest layer.

Definition at line 56 of file buffered_write_stream.hpp.

template<typename Stream >
typedef remove_reference<Stream>::type asio::buffered_write_stream< Stream >::next_layer_type

The type of the next layer.

Definition at line 53 of file buffered_write_stream.hpp.

Constructor & Destructor Documentation

template<typename Stream >
template<typename Arg >
asio::buffered_write_stream< Stream >::buffered_write_stream ( Arg &  a)
inlineexplicit

Construct, passing the specified argument to initialise the next layer.

Definition at line 67 of file buffered_write_stream.hpp.

template<typename Stream >
template<typename Arg >
asio::buffered_write_stream< Stream >::buffered_write_stream ( Arg &  a,
std::size_t  buffer_size 
)
inline

Construct, passing the specified argument to initialise the next layer.

Definition at line 75 of file buffered_write_stream.hpp.

Member Function Documentation

template<typename Stream >
template<typename WriteHandler >
asio::buffered_write_stream< Stream >::ASIO_INITFN_RESULT_TYPE ( WriteHandler  ,
void(asio::error_code, std::size_t)   
)

Start an asynchronous flush.

template<typename Stream >
template<typename ConstBufferSequence , typename WriteHandler >
asio::buffered_write_stream< Stream >::ASIO_INITFN_RESULT_TYPE ( WriteHandler  ,
void(asio::error_code, std::size_t)   
) const

Start an asynchronous write. The data being written must be valid for the lifetime of the asynchronous operation.

template<typename Stream >
template<typename MutableBufferSequence , typename ReadHandler >
asio::buffered_write_stream< Stream >::ASIO_INITFN_RESULT_TYPE ( ReadHandler  ,
void(asio::error_code, std::size_t)   
) const

Start an asynchronous read. The buffer into which the data will be read must be valid for the lifetime of the asynchronous operation.

template<typename Stream >
asio::buffered_write_stream< Stream >::ASIO_MOVE_ARG ( WriteHandler  )
template<typename Stream >
asio::buffered_write_stream< Stream >::ASIO_MOVE_ARG ( ReadHandler  )
inline

Definition at line 175 of file buffered_write_stream.hpp.

template<typename Stream >
asio::buffered_write_stream< Stream >::ASIO_STATIC_CONSTANT ( std::size_t  ,
default_buffer_size  = 1024 
)
template<typename Stream >
void asio::buffered_write_stream< Stream >::close ( )
inline

Close the stream.

Definition at line 106 of file buffered_write_stream.hpp.

template<typename Stream >
asio::error_code asio::buffered_write_stream< Stream >::close ( asio::error_code ec)
inline

Close the stream.

Definition at line 112 of file buffered_write_stream.hpp.

template<typename Stream >
std::size_t asio::buffered_write_stream< Stream >::flush ( )

Flush all data from the buffer to the next layer. Returns the number of bytes written to the next layer on the last write operation. Throws an exception on failure.

Definition at line 28 of file buffered_write_stream.hpp.

template<typename Stream >
std::size_t asio::buffered_write_stream< Stream >::flush ( asio::error_code ec)

Flush all data from the buffer to the next layer. Returns the number of bytes written to the next layer on the last write operation, or 0 if an error occurred.

Definition at line 37 of file buffered_write_stream.hpp.

template<typename Stream >
asio::io_service& asio::buffered_write_stream< Stream >::get_io_service ( )
inline

Get the io_service associated with the object.

Definition at line 100 of file buffered_write_stream.hpp.

template<typename Stream >
std::size_t asio::buffered_write_stream< Stream >::in_avail ( )
inline

Determine the amount of data that may be read without blocking.

Definition at line 206 of file buffered_write_stream.hpp.

template<typename Stream >
std::size_t asio::buffered_write_stream< Stream >::in_avail ( asio::error_code ec)
inline

Determine the amount of data that may be read without blocking.

Definition at line 212 of file buffered_write_stream.hpp.

template<typename Stream >
lowest_layer_type& asio::buffered_write_stream< Stream >::lowest_layer ( )
inline

Get a reference to the lowest layer.

Definition at line 88 of file buffered_write_stream.hpp.

template<typename Stream >
const lowest_layer_type& asio::buffered_write_stream< Stream >::lowest_layer ( ) const
inline

Get a const reference to the lowest layer.

Definition at line 94 of file buffered_write_stream.hpp.

template<typename Stream >
next_layer_type& asio::buffered_write_stream< Stream >::next_layer ( )
inline

Get a reference to the next layer.

Definition at line 82 of file buffered_write_stream.hpp.

template<typename Stream >
template<typename MutableBufferSequence >
std::size_t asio::buffered_write_stream< Stream >::peek ( const MutableBufferSequence &  buffers)
inline

Peek at the incoming data on the stream. Returns the number of bytes read. Throws an exception on failure.

Definition at line 191 of file buffered_write_stream.hpp.

template<typename Stream >
template<typename MutableBufferSequence >
std::size_t asio::buffered_write_stream< Stream >::peek ( const MutableBufferSequence &  buffers,
asio::error_code ec 
)
inline

Peek at the incoming data on the stream. Returns the number of bytes read, or 0 if an error occurred.

Definition at line 199 of file buffered_write_stream.hpp.

template<typename Stream >
template<typename MutableBufferSequence >
std::size_t asio::buffered_write_stream< Stream >::read_some ( const MutableBufferSequence &  buffers)
inline

Read some data from the stream. Returns the number of bytes read. Throws an exception on failure.

Definition at line 155 of file buffered_write_stream.hpp.

template<typename Stream >
template<typename MutableBufferSequence >
std::size_t asio::buffered_write_stream< Stream >::read_some ( const MutableBufferSequence &  buffers,
asio::error_code ec 
)
inline

Read some data from the stream. Returns the number of bytes read or 0 if an error occurred.

Definition at line 163 of file buffered_write_stream.hpp.

template<typename Stream >
template<typename ConstBufferSequence >
std::size_t asio::buffered_write_stream< Stream >::write_some ( const ConstBufferSequence &  buffers)

Write the given data to the stream. Returns the number of bytes written. Throws an exception on failure.

Definition at line 151 of file buffered_write_stream.hpp.

template<typename Stream >
template<typename ConstBufferSequence >
std::size_t asio::buffered_write_stream< Stream >::write_some ( const ConstBufferSequence &  buffers,
asio::error_code ec 
)

Write the given data to the stream. Returns the number of bytes written, or 0 if an error occurred and the error handler did not throw.

Definition at line 165 of file buffered_write_stream.hpp.


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