00001
00002
00003
00004
00005
00006
00007 #ifndef __UNILISTITER_H
00008 #define __UNILISTITER_H
00009
00010 #include "uniconfgen.h"
00011 #include "wvscatterhash.h"
00012 #include "wvstringcache.h"
00013 #include "wvstringlist.h"
00014
00027 class UniListIter : public UniConfGen::Iter
00028 {
00029 IUniConfGen *gen;
00030
00031 DeclareWvScatterTable(UniConfKey);
00032 UniConfKeyTable keylook;
00033
00034
00035 UniConfKeyList keys;
00036 WvStringList values;
00037
00038 UniConfKeyList::Iter ki;
00039 WvStringList::Iter vi;
00040
00041 WvStringCache scache;
00042
00043 public:
00044 UniListIter(IUniConfGen *_gen);
00045
00054 void add(const UniConfKey &k, WvStringParm v = WvString::null);
00055
00065 void autofill(IUniConfGen::Iter *source);
00066
00067
00068 virtual void rewind();
00069 virtual bool next();
00070 virtual UniConfKey key() const;
00071 virtual WvString value() const;
00072 };
00073
00074 #endif // __UNILISTITER_H