NameTree.h

Go to the documentation of this file.
00001 //---------------------------------------------------------------------------------------
00002 // Copyright (c) 2001-2008 by PDFTron Systems Inc. All Rights Reserved.
00003 // Consult legal.txt regarding legal and license information.
00004 //---------------------------------------------------------------------------------------
00005 
00006 #ifndef   H_CPPSDFNameTree
00007 #define   H_CPPSDFNameTree
00008 
00009 #include <C/SDF/TRN_NameTree.h>
00010 #include <SDF/DictIterator.h>
00011 #include <SDF/Obj.h>
00012 #include <SDF/SDFDoc.h>
00013 
00014 
00015 namespace pdftron { 
00016         namespace SDF {
00017 
00018 
00022 typedef DictIterator NameTreeIterator;
00023 
00024 
00048 class NameTree
00049 {
00050 public:
00051 
00065          static NameTree Create(class SDFDoc& doc, const std::string& name);
00066 
00077          static NameTree Find(class SDFDoc& doc, const std::string& name);
00078         
00085          NameTree (Obj name_tree);
00086 
00090          NameTree (const NameTree& d);
00091 
00095          NameTree& operator=(const NameTree& d);
00096 
00102          bool IsValid();
00103 
00123          NameTreeIterator GetIterator(const UChar* key, int key_sz);
00124 
00136          NameTreeIterator GetIterator();
00137 
00146          Obj GetValue(const UChar* key, int key_sz);
00147 
00156          void Put (const UChar* key, int key_sz, Obj value);    
00157 
00165          void Erase (const UChar* key, int key_sz);
00166 
00170          void Erase (DictIterator& pos);
00171 
00176          Obj GetSDFObj () const;
00177 
00178 
00179 protected:
00180         NameTree(){};
00181         TRN_NameTree mp_obj;
00182 };
00183 
00184 
00185 #include <Impl/NameTree.inl>
00186 
00187         };      // namespace SDF
00188 };      // namespace pdftron
00189 
00190 #endif
00191 

© 2002-2008 PDFTron Systems Inc.