aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--include/qpdf/QPDFObjGen.hh4
-rw-r--r--libqpdf/QPDFObjGen.cc6
3 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index fc376cef..c94c76e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2020-12-26 Jay Berkenbilt <ejb@ql.org>
+
+ * 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 <ejb@ql.org>
* 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 <qpdf/DLL.h>
+#include <iostream>
// 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;
+}