File multiostream.hxx#

Typedefs

using cmultiostream = multiostream<char>#
using wmultiostream = multiostream<wchar_t>#
template<typename char_type, typename traits = std::char_traits<char_type>>
class multioutbuf : public std::basic_streambuf<char_type, traits>#
#include <multiostream.hxx>

Template class to split streams.

from http://accu.org/index.php/journals/260

Public Functions

inline void add(std::basic_ostream<char_type, traits> &str)#
inline void remove(std::basic_ostream<char_type, traits> &str)#

Protected Functions

inline std::streamsize xsputn(const char_type *sequence, std::streamsize num) override#
inline int overflow(int c) override#

Private Types

using stream_container = std::vector<std::basic_ostream<char_type, traits>*>#

Private Members

stream_container streams_#
template<typename char_type, typename traits>
class multioutbuf_init#

Subclassed by multiostream< char_type, traits >, Output

Public Functions

inline multioutbuf<char_type, traits> *buf()#

Private Members

multioutbuf<char_type, traits> buf_#
template<typename char_type, typename traits = std::char_traits<char_type>>
class multiostream : private multioutbuf_init<char_type, traits>, public std::basic_ostream<char_type, traits>#

Public Functions

inline multiostream()#
inline void add(std::basic_ostream<char_type, traits> &str)#
inline void remove(std::basic_ostream<char_type, traits> &str)#

Private Types

using multioutbuf_init = ::multioutbuf_init<char_type, traits>#