PoDoFo 1.0.0-dev
Loading...
Searching...
No Matches
PdfVariantStack.h
1
7#ifndef PDF_OPERATOR_STACK_H
8#define PDF_OPERATOR_STACK_H
9
10#include "PdfVariant.h"
11
12namespace PoDoFo {
13
14class PODOFO_API PdfVariantStack final
15{
16 friend class PdfContentStreamReader;
17
18public:
19 using Stack = std::vector<PdfVariant>;
20 using iterator = Stack::reverse_iterator;
21 using reverse_iterator = Stack::iterator;
22 using const_iterator = Stack::const_reverse_iterator;
23 using const_reverse_iterator = Stack::const_iterator;
24
25public:
26 void Push(const PdfVariant& var);
27 void Push(PdfVariant&& var);
28 void Pop();
29 void Clear();
30 unsigned GetSize() const;
31
32public:
33 const PdfVariant& operator[](size_t index) const;
34 PdfVariant& operator[](size_t index);
35 iterator begin();
36 iterator end();
37 reverse_iterator rbegin();
38 reverse_iterator rend();
39 const_iterator begin() const;
40 const_iterator end() const;
41 const_reverse_iterator rbegin() const;
42 const_reverse_iterator rend() const;
43 size_t size() const;
44
45private:
46 Stack m_variants;
47};
48
49}
50
51#endif // PDF_OPERATOR_STACK_H
SPDX-FileCopyrightText: (C) 2022 Francesco Pretto ceztko@gmail.com SPDX-License-Identifier: LGPL-2....
Definition basetypes.h:16
@ Push
Display the fields down appearance (requires an additional appearance stream to be set)