diff options
author | Jay Berkenbilt <ejb@ql.org> | 2022-05-04 00:40:42 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2022-05-04 00:54:51 +0200 |
commit | 16139d97c83ba48ab31b0f7619bab77d6cdb79e6 (patch) | |
tree | dd53beacfaab649a98970469ef281e5c2aa67f6a /libqpdf/Pl_OStream.cc | |
parent | 21d6e3231f627470ee58b06df018f31de9eb3201 (diff) | |
download | qpdf-16139d97c83ba48ab31b0f7619bab77d6cdb79e6.tar.zst |
Add new Pl_OStream Pipeline
Diffstat (limited to 'libqpdf/Pl_OStream.cc')
-rw-r--r-- | libqpdf/Pl_OStream.cc | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/libqpdf/Pl_OStream.cc b/libqpdf/Pl_OStream.cc new file mode 100644 index 00000000..db0081df --- /dev/null +++ b/libqpdf/Pl_OStream.cc @@ -0,0 +1,35 @@ +#include <qpdf/Pl_OStream.hh> + +#include <qpdf/QUtil.hh> +#include <errno.h> +#include <stdexcept> + +Pl_OStream::Members::Members(std::ostream& os) : + os(os) +{ +} + +Pl_OStream::Pl_OStream(char const* identifier, std::ostream& os) : + Pipeline(identifier, 0), + m(new Members(os)) +{ +} + +Pl_OStream::~Pl_OStream() +{ + // Must be explicit and not inline -- see QPDF_DLL_CLASS in + // README-maintainer +} + +void +Pl_OStream::write(unsigned char const* buf, size_t len) +{ + this->m->os.write( + reinterpret_cast<char const*>(buf), static_cast<std::streamsize>(len)); +} + +void +Pl_OStream::finish() +{ + this->m->os.flush(); +} |