diff --git a/ChangeLog b/ChangeLog index fc376cef..c94c76e6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2020-12-26 Jay Berkenbilt + + * Add ostream << for QPDFObjGen. (Don't ask why it took 7.5 years + for me to decide to do this.) + 2020-12-25 Jay Berkenbilt * Refactor write code to eliminate an extra full traversal of diff --git a/include/qpdf/QPDFObjGen.hh b/include/qpdf/QPDFObjGen.hh index 1cfe1547..996f5d85 100644 --- a/include/qpdf/QPDFObjGen.hh +++ b/include/qpdf/QPDFObjGen.hh @@ -23,6 +23,7 @@ #define QPDFOBJGEN_HH #include +#include // This class represents an object ID and generation pair. It is // suitable to use as a key in a map or set. @@ -43,6 +44,9 @@ class QPDFObjGen QPDF_DLL int getGen() const; + QPDF_DLL + friend std::ostream& operator<<(std::ostream&, const QPDFObjGen&); + private: // This class does not use the Members pattern to avoid a memory // allocation for every one of these. A lot of these get created diff --git a/libqpdf/QPDFObjGen.cc b/libqpdf/QPDFObjGen.cc index ebd483ec..a887720e 100644 --- a/libqpdf/QPDFObjGen.cc +++ b/libqpdf/QPDFObjGen.cc @@ -36,3 +36,9 @@ QPDFObjGen::getGen() const { return this->gen; } + +std::ostream& operator<<(std::ostream& os, const QPDFObjGen& og) +{ + os << og.obj << "," << og.gen; + return os; +}