summaryrefslogtreecommitdiff
path: root/Build/source/libs/poppler/poppler-src/poppler/Array.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/poppler/poppler-src/poppler/Array.h')
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/Array.h30
1 files changed, 17 insertions, 13 deletions
diff --git a/Build/source/libs/poppler/poppler-src/poppler/Array.h b/Build/source/libs/poppler/poppler-src/poppler/Array.h
index e78e399baf2..2babc8be52f 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/Array.h
+++ b/Build/source/libs/poppler/poppler-src/poppler/Array.h
@@ -16,6 +16,8 @@
// Copyright (C) 2005 Kristian Høgsberg <krh@redhat.com>
// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
+// Copyright (C) 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -48,36 +50,38 @@ public:
// Destructor.
~Array();
- // Reference counting.
- int incRef();
- int decRef();
-
// Get number of elements.
- int getLength() { return length; }
+ int getLength() const { return length; }
// Copy array with new xref
- Object *copy(XRef *xrefA, Object *obj);
+ Object copy(XRef *xrefA) const;
- // Add an element.
- void add(Object *elem);
+ // Add an element
+ // elem becomes a dead object after this call
+ void add(Object &&elem);
// Remove an element by position
void remove(int i);
// Accessors.
- Object *get(int i, Object *obj, int resursion = 0);
- Object *getNF(int i, Object *obj);
- GBool getString(int i, GooString *string);
+ Object get(int i, int resursion = 0) const;
+ Object getNF(int i) const;
+ GBool getString(int i, GooString *string) const;
private:
+ friend class Object; // for incRef/decRef
+
+ // Reference counting.
+ int incRef();
+ int decRef();
XRef *xref; // the xref table for this PDF file
Object *elems; // array of elements
int size; // size of <elems> array
int length; // number of elements in array
int ref; // reference count
-#if MULTITHREADED
- GooMutex mutex;
+#ifdef MULTITHREADED
+ mutable GooMutex mutex;
#endif
};