staticlib_io  1.2.11
 All Classes Namespaces Files Functions Variables
Classes | Namespaces | Functions
unbuffered_streambuf.hpp File Reference
#include <ios>
#include <memory>
#include <streambuf>
#include <utility>
#include "staticlib/config.hpp"
#include "staticlib/io/reference_sink.hpp"
#include "staticlib/io/reference_source.hpp"
#include "staticlib/io/span.hpp"

Go to the source code of this file.

Classes

class  staticlib::io::detail::unbuffered_streambuf_base
 Base class for unbuffered streambuf implementations. More...
class  staticlib::io::unbuffered_istreambuf< Source, source_eof >
 Unbuffered implementation of input streambuf, wraps Source reference (in terms of Boost.Iostreams). More...
class  staticlib::io::unbuffered_ostreambuf< Sink >
 Unbuffered implementation of output streambuf, wraps Sink reference (in terms of Boost.Iostreams). More...

Namespaces

namespace  staticlib
namespace  staticlib::io
namespace  staticlib::io::detail

Functions

template<typename Source , class = typename std::enable_if<!std::is_lvalue_reference<Source>::value>::type>
unbuffered_istreambuf< Source > staticlib::io::make_unbuffered_istreambuf (Source &&source)
 Factory function for creating unbuffered_istreambuf sources, created source wrapper will own specified source.
template<typename Source , class = typename std::enable_if<!std::is_lvalue_reference<Source>::value>::type>
std::unique_ptr
< unbuffered_istreambuf
< Source > > 
staticlib::io::make_unbuffered_istreambuf_ptr (Source &&source)
 Factory function for creating unbuffered_istreambuf sources, created source wrapper will own specified source.
template<typename Source >
unbuffered_istreambuf
< reference_source< Source > > 
staticlib::io::make_unbuffered_istreambuf (Source &source)
 Factory function for creating unbuffered_istreambuf sources, created source wrapper will NOT own specified source.
template<typename Source >
std::unique_ptr
< unbuffered_istreambuf
< reference_source< Source > > > 
staticlib::io::make_unbuffered_istreambuf_ptr (Source &source)
 Factory function for creating unbuffered_istreambuf sources, created source wrapper will NOT own specified source.
template<typename Sink , class = typename std::enable_if<!std::is_lvalue_reference<Sink>::value>::type>
unbuffered_ostreambuf< Sink > staticlib::io::make_unbuffered_ostreambuf (Sink &&sink)
 Factory function for creating unbuffered_ostreambuf sinks, created sink wrapper will own specified sink.
template<typename Sink , class = typename std::enable_if<!std::is_lvalue_reference<Sink>::value>::type>
std::unique_ptr
< unbuffered_ostreambuf< Sink > > 
staticlib::io::make_unbuffered_ostreambuf_ptr (Sink &&sink)
 Factory function for creating unbuffered_ostreambuf sinks, created sink wrapper will own specified sink.
template<typename Sink >
unbuffered_ostreambuf
< reference_sink< Sink > > 
staticlib::io::make_unbuffered_ostreambuf (Sink &sink)
 Factory function for creating unbuffered_ostreambuf sinks, created sink wrapper will NOT own specified sink.
template<typename Sink >
std::unique_ptr
< unbuffered_ostreambuf
< reference_sink< Sink > > > 
staticlib::io::make_unbuffered_ostreambuf_ptr (Sink &sink)
 Factory function for creating unbuffered_ostreambuf sinks, created sink wrapper will NOT own specified sink.