diff options
Diffstat (limited to 'Build/source/libs/poppler/poppler-src/poppler/Array.h')
-rw-r--r-- | Build/source/libs/poppler/poppler-src/poppler/Array.h | 30 |
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 }; |