diff options
author | Jay Berkenbilt <ejb@ql.org> | 2019-08-18 00:54:24 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2019-08-18 05:02:41 +0200 |
commit | e83f3308fbccd34959d325b830118eafe441fe48 (patch) | |
tree | b3ac08e39da91a00b67e147bd05f5379789fcbe3 /libqpdf/qpdf/SparseOHArray.hh | |
parent | 04419d7c3269aa29ff669c8b5f3a7999edb44bea (diff) | |
download | qpdf-e83f3308fbccd34959d325b830118eafe441fe48.tar.zst |
SparseOHArray
Diffstat (limited to 'libqpdf/qpdf/SparseOHArray.hh')
-rw-r--r-- | libqpdf/qpdf/SparseOHArray.hh | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/libqpdf/qpdf/SparseOHArray.hh b/libqpdf/qpdf/SparseOHArray.hh new file mode 100644 index 00000000..2e3f334c --- /dev/null +++ b/libqpdf/qpdf/SparseOHArray.hh @@ -0,0 +1,34 @@ +#ifndef QPDF_SPARSEOHARRAY_HH +#define QPDF_SPARSEOHARRAY_HH + +#include <qpdf/QPDFObjectHandle.hh> +#include <map> + +class SparseOHArray +{ + public: + QPDF_DLL + SparseOHArray(); + QPDF_DLL + size_t size() const; + QPDF_DLL + void append(QPDFObjectHandle oh); + QPDF_DLL + QPDFObjectHandle at(size_t idx) const; + QPDF_DLL + void remove_last(); + QPDF_DLL + void releaseResolved(); + QPDF_DLL + void setAt(size_t idx, QPDFObjectHandle oh); + QPDF_DLL + void erase(size_t idx); + QPDF_DLL + void insert(size_t idx, QPDFObjectHandle oh); + + private: + std::map<size_t, QPDFObjectHandle> elements; + size_t n_elements; +}; + +#endif // QPDF_SPARSEOHARRAY_HH |