aboutsummaryrefslogtreecommitdiffstats
path: root/examples/pdf-name-number-tree.cc
diff options
context:
space:
mode:
Diffstat (limited to 'examples/pdf-name-number-tree.cc')
-rw-r--r--examples/pdf-name-number-tree.cc78
1 files changed, 31 insertions, 47 deletions
diff --git a/examples/pdf-name-number-tree.cc b/examples/pdf-name-number-tree.cc
index d8bb233e..347bfb69 100644
--- a/examples/pdf-name-number-tree.cc
+++ b/examples/pdf-name-number-tree.cc
@@ -3,26 +3,26 @@
#include <qpdf/QPDFNumberTreeObjectHelper.hh>
#include <qpdf/QPDFWriter.hh>
#include <qpdf/QUtil.hh>
-#include <iostream>
#include <cstring>
+#include <iostream>
static char const* whoami = 0;
-void usage()
+void
+usage()
{
- std::cerr << "Usage: " << whoami << " outfile.pdf"
- << std::endl
+ std::cerr << "Usage: " << whoami << " outfile.pdf" << std::endl
<< "Create some name/number trees and write to a file"
<< std::endl;
exit(2);
}
-int main(int argc, char* argv[])
+int
+main(int argc, char* argv[])
{
whoami = QUtil::getWhoami(argv[0]);
- if (argc != 2)
- {
+ if (argc != 2) {
usage();
}
@@ -62,8 +62,8 @@ int main(int argc, char* argv[])
name_tree.insert("R", QPDFObjectHandle::newUnicodeString("rook"));
name_tree.insert("B", QPDFObjectHandle::newUnicodeString("bishop"));
name_tree.insert("N", QPDFObjectHandle::newUnicodeString("knight"));
- auto iter = name_tree.insert(
- "P", QPDFObjectHandle::newUnicodeString("pawn"));
+ auto iter =
+ name_tree.insert("P", QPDFObjectHandle::newUnicodeString("pawn"));
// Look at the iterator
std::cout << "just inserted " << iter->first << " -> "
<< iter->second.unparse() << std::endl;
@@ -77,28 +77,24 @@ int main(int argc, char* argv[])
// Use range-for iteration
std::cout << "Name tree items:" << std::endl;
- for (auto i: name_tree)
- {
- std::cout << " " << i.first << " -> "
- << i.second.unparse() << std::endl;
+ for (auto i : name_tree) {
+ std::cout << " " << i.first << " -> " << i.second.unparse()
+ << std::endl;
}
// This is a small tree, so everything will be at the root. We can
// look at it using dictionary and array iterators.
std::cout << "Keys in name tree object:" << std::endl;
QPDFObjectHandle names;
- for (auto const& i: name_tree_oh.ditems())
- {
+ for (auto const& i : name_tree_oh.ditems()) {
std::cout << i.first << std::endl;
- if (i.first == "/Names")
- {
+ if (i.first == "/Names") {
names = i.second;
}
}
// Values in names array:
std::cout << "Values in names:" << std::endl;
- for (auto& i: names.aitems())
- {
+ for (auto& i : names.aitems()) {
std::cout << " " << i.unparse() << std::endl;
}
@@ -112,8 +108,8 @@ int main(int argc, char* argv[])
// 10.2 API
iter = name_tree.find("Q");
- std::cout << "Q: " << iter->first << " -> "
- << iter->second.unparse() << std::endl;
+ std::cout << "Q: " << iter->first << " -> " << iter->second.unparse()
+ << std::endl;
iter = name_tree.find("W");
std::cout << "W found: " << (iter != name_tree.end()) << std::endl;
// Allow find to return predecessor
@@ -146,22 +142,18 @@ int main(int argc, char* argv[])
auto number_tree_oh = number_tree.getObjectHandle();
example.replaceKey("/NumberTree", number_tree_oh);
auto iter2 = number_tree.begin();
- for (int i = 7; i <= 350; i += 7)
- {
- iter2.insertAfter(i, QPDFObjectHandle::newString(
- "-" + QUtil::int_to_string(i) + "-"));
+ for (int i = 7; i <= 350; i += 7) {
+ iter2.insertAfter(
+ i,
+ QPDFObjectHandle::newString("-" + QUtil::int_to_string(i) + "-"));
}
std::cout << "Numbers:" << std::endl;
int n = 1;
- for (auto& i: number_tree)
- {
+ for (auto& i : number_tree) {
std::cout << i.first << " -> " << i.second.getUTF8Value();
- if (n % 5)
- {
+ if (n % 5) {
std::cout << ", ";
- }
- else
- {
+ } else {
std::cout << std::endl;
}
++n;
@@ -171,28 +163,20 @@ int main(int argc, char* argv[])
// advances. This makes it possible to filter while iterating.
// Remove all items that are multiples of 5.
iter2 = number_tree.begin();
- while (iter2 != number_tree.end())
- {
- if (iter2->first % 5 == 0)
- {
- iter2.remove(); // also advances
- }
- else
- {
+ while (iter2 != number_tree.end()) {
+ if (iter2->first % 5 == 0) {
+ iter2.remove(); // also advances
+ } else {
++iter2;
}
}
std::cout << "Numbers after filtering:" << std::endl;
n = 1;
- for (auto& i: number_tree)
- {
+ for (auto& i : number_tree) {
std::cout << i.first << " -> " << i.second.getUTF8Value();
- if (n % 5)
- {
+ if (n % 5) {
std::cout << ", ";
- }
- else
- {
+ } else {
std::cout << std::endl;
}
++n;