Coverage Report

Created: 2025-06-22 06:30

/src/qpdf/libqpdf/Pl_OStream.cc
Line
Count
Source
1
#include <qpdf/Pl_OStream.hh>
2
3
#include <stdexcept>
4
5
class Pl_OStream::Members
6
{
7
  public:
8
    Members(std::ostream& os) :
9
2
        os(os)
10
2
    {
11
2
    }
12
    Members(Members const&) = delete;
13
    ~Members() = default;
14
15
    std::ostream& os;
16
};
17
18
Pl_OStream::Pl_OStream(char const* identifier, std::ostream& os) :
19
2
    Pipeline(identifier, nullptr),
20
2
    m(std::make_unique<Members>(os))
21
2
{
22
2
}
23
24
// Must be explicit and not inline -- see QPDF_DLL_CLASS in README-maintainer
25
2
Pl_OStream::~Pl_OStream() = default;
26
27
void
28
Pl_OStream::write(unsigned char const* buf, size_t len)
29
2.50M
{
30
2.50M
    m->os.write(reinterpret_cast<char const*>(buf), static_cast<std::streamsize>(len));
31
2.50M
}
32
33
void
34
Pl_OStream::finish()
35
2
{
36
2
    m->os.flush();
37
2
}