WvStreams
unilistiter.h
1 /* -*- Mode: C++ -*-
2  * Worldvisions Weaver Software:
3  * Copyright (C) 2002-2005 Net Integration Technologies, Inc.
4  *
5  * A simple implementation of a UniConfGen iterator.
6  */
7 #ifndef __UNILISTITER_H
8 #define __UNILISTITER_H
9 
10 #include "uniconfgen.h"
11 #include "wvscatterhash.h"
12 #include "wvstringcache.h"
13 #include "wvstringlist.h"
14 
28 {
29  IUniConfGen *gen;
30 
31  DeclareWvScatterTable(UniConfKey);
32  UniConfKeyTable keylook;
33 
34 
35  UniConfKeyList keys;
36  WvStringList values;
37 
38  UniConfKeyList::Iter ki;
39  WvStringList::Iter vi;
40 
41  WvStringCache scache;
42 
43 public:
44  UniListIter(IUniConfGen *_gen);
45 
54  void add(const UniConfKey &k, WvStringParm v = WvString::null);
55 
65  void autofill(IUniConfGen::Iter *source);
66 
67  /***** Overridden members *****/
68  virtual void rewind();
69  virtual bool next();
70  virtual UniConfKey key() const;
71  virtual WvString value() const;
72 };
73 
74 #endif // __UNILISTITER_H
UniListIter::key
virtual UniConfKey key() const
Returns the current key.
Definition: unilistiter.cc:49
WvStringCache
A cache table of WvString objects.
Definition: wvstringcache.h:32
UniListIter
An iterator that iterates through a constant list of keys.
Definition: unilistiter.h:27
UniListIter::add
void add(const UniConfKey &k, WvStringParm v=WvString::null)
Add a key/value pair to the list that gets returned by this iterator.
Definition: unilistiter.cc:16
WvString
WvString is an implementation of a simple and efficient printable-string class.
Definition: wvstring.h:329
IUniConfGen
An abstract data container that backs a UniConf tree.
Definition: uniconfgen.h:39
UniConfKey
Represents a UniConf key which is a path in a hierarchy structured much like the traditional Unix fil...
Definition: uniconfkey.h:38
UniListIter::value
virtual WvString value() const
Returns the value of the current key.
Definition: unilistiter.cc:55
UniListIter::autofill
void autofill(IUniConfGen::Iter *source)
Automatically fill the contents of this iterator by calling add() for each element of the 'source' it...
Definition: unilistiter.cc:26
WvStringList
This is a WvList of WvStrings, and is a really handy way to parse strings.
Definition: wvstringlist.h:27
UniListIter::next
virtual bool next()
Seeks to the next element in the sequence.
Definition: unilistiter.cc:41
UniListIter::rewind
virtual void rewind()
Rewinds the iterator.
Definition: unilistiter.cc:34
UniConfGen::Iter
An abstract iterator over keys and values in a generator.
Definition: uniconfgen.h:323