|
#include <NumberTree.h>
Public Member Functions | |
| NumberTree (Obj number_tree) | |
| Create a high level NumberTree wrapper around an existing SDF/Cos NumberTree. | |
| NumberTree (const NumberTree &d) | |
| Copy constructor. | |
| NumberTree & | operator= (const NumberTree &d) |
| Assignment operator. | |
| bool | IsValid () |
| |
| NumberTreeIterator | GetIterator (long key) |
| Search for the specified key in the NumberTree. | |
| NumberTreeIterator | GetIterator () |
| |
| Obj | GetValue (long key) |
| void | Put (long key, Obj value) |
| Puts a new entry in the name tree. | |
| void | Erase (long key) |
| Removes the specified object from the tree. | |
| void | Erase (DictIterator &pos) |
| Removes the NumberTree entry pointed by the iterator. | |
| Obj | GetSDFObj () const |
| |
Protected Attributes | |
| TRN_NumberTree | mp_obj |
See section 3.8.6 'Number Trees' in PDF Reference Manual for more details.
A number tree serves a similar purpose to a dictionary - associating keys and values - but by different means. NumberTrees allow efficient storage of very large association collections (number/Obj* maps). A NumberTree can have many more entries than a SDF/Cos dictionary can.
Sample code:
PDFDoc doc("../Data/test.pdf"); NumberTree labels(doc.GetRoot().Get("PageLabels").Value()); if (labels.IsValid()) { // Traversing the NumberTree for (NumberTreeIterator i = labels.GetIterator(); i.HasNext(); i.Next()) cout << "Key: " << i.Key().GetNumber() << endl; }
| pdftron::SDF::NumberTree::NumberTree | ( | Obj | number_tree | ) |
Create a high level NumberTree wrapper around an existing SDF/Cos NumberTree.
This does not copy the object.
| number_tree | SDF/Cos root of the NumberTree object. |
| pdftron::SDF::NumberTree::NumberTree | ( | const NumberTree & | d | ) |
Copy constructor.
| NumberTree& pdftron::SDF::NumberTree::operator= | ( | const NumberTree & | d | ) |
Assignment operator.
| bool pdftron::SDF::NumberTree::IsValid | ( | ) |
If the function returns false the underlying SDF/Cos object is null and the NumberTree object should be treated as null as well.
| NumberTreeIterator pdftron::SDF::NumberTree::GetIterator | ( | long | key | ) |
Search for the specified key in the NumberTree.
| key | the number representing the key to be found. |
| NumberTreeIterator pdftron::SDF::NumberTree::GetIterator | ( | ) |
NNTreeData) in the document. You can use the Next method on the returned iterator to traverese all entries stored under the NumberTree.
Sample code: for (NumberTreeIterator i = dests.getIterator(); i.HasNext(); i.Next()) cout << "Key: " << i.GetKey().GetNumber() << endl;
| Obj pdftron::SDF::NumberTree::GetValue | ( | long | key | ) |
| void pdftron::SDF::NumberTree::Put | ( | long | key, | |
| Obj | value | |||
| ) |
Puts a new entry in the name tree.
If an entry with this number is already in the tree, it is replaced.
| key | A number representing the key of the new entry. | |
| the | value associated with the key. It can be any SDF::Obj. |
| void pdftron::SDF::NumberTree::Erase | ( | long | key | ) |
Removes the specified object from the tree.
Does nothing if no object with that number exists.
| key | A number representing the key of the entry to be removed. |
| void pdftron::SDF::NumberTree::Erase | ( | DictIterator & | pos | ) |
Removes the NumberTree entry pointed by the iterator.
| Obj pdftron::SDF::NumberTree::GetSDFObj | ( | ) | const |
If the NumberTree.IsValid() returns false the SDF/Cos object is NULL.
TRN_NumberTree pdftron::SDF::NumberTree::mp_obj [protected] |