mod_servlet
C++Servlets
 All Classes Files Functions Variables Typedefs Macros Pages
io.h File Reference

Definitions for custom implementation of std::istream and std::ostream objects. More...

#include <type_traits>
#include <iostream>
#include <vector>
#include <experimental/type_traits>

Go to the source code of this file.

Classes

struct  servlet::buffering< BufSize >
 Template class holder of the buffer size. More...
 
struct  servlet::sink
 Sink tag. More...
 
struct  servlet::source
 Source tag. More...
 
struct  servlet::buffer_provider
 Source tag. More...
 
class  servlet::basic_outstream< Sink, Buffering, CharT, Traits >
 Implementation of output stream object. More...
 
class  servlet::basic_instream< Source, Buffering, CharT, Traits >
 Implementation of input stream object. More...
 

Typedefs

typedef buffering< 0 > servlet::non_buffered
 Type definition for zero buffer.
 
typedef buffering< 1024 > servlet::buffer_1k
 Type definition for 1Kb buffer.
 
typedef buffering< 2048 > servlet::buffer_2k
 Type definition for 2Kb buffer.
 
typedef buffering< 4096 > servlet::buffer_4k
 Type definition for 4Kb buffer.
 
typedef buffering< 8192 > servlet::buffer_8k
 Type definition for 8Kb buffer.
 
template<typename Sink , typename Buffering = non_buffered>
using servlet::outstream = basic_outstream< Sink, Buffering, char >
 Type definition for basic_outstream with char type.
 
template<typename Source , typename Buffering = non_buffered>
using servlet::instream = basic_instream< Source, Buffering, char >
 Type definition for basic_instream with char type.
 

Detailed Description

Definitions for custom implementation of std::istream and std::ostream objects.

This recembles to the project boost::iostreams, but provides new time ot sink and source - buffer provider, which provides the buffer directly to inbuf and outbuf which eliminates unnecessary copying.

See Also
boost::iostreams,