Toggle navigation
ivorium
iv_components
Example project
GitHub
Main Page
Modules
Classes
Files
File List
File Members
ivorium_core
Basics
multiline_ostream.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <iostream>
4
#include <vector>
5
6
namespace
iv
7
{
8
9
class
multiline_ostream_streambuf
:
public
std::streambuf
10
{
11
public
:
12
multiline_ostream_streambuf
( std::ostream * out );
13
virtual
std::streambuf::int_type
overflow
( std::streambuf::int_type value )
override
;
14
15
void
multiline_begin
();
16
void
multiline_end
();
17
void
clear
();
18
19
private
:
20
std::ostream * out;
21
size_t
pos;
22
std::vector< size_t > lengths;
23
};
24
25
class
multiline_ostream
:
public
std::ostream
26
{
27
public
:
28
multiline_ostream
( std::ostream * out );
29
~multiline_ostream
();
30
31
void
multiline_begin
();
32
void
multiline_end
();
33
void
clear
();
34
};
35
36
}