Listing 17 An Arglist class that uses a container class

#include <stddef.h>
#include <cstring.h>
#include <classlib/arrays.h>

class Arglist
{
public:
   Arglist(size_t, char **);
   size_t count() const;
   const string& operator[](size_t) const;

private:
   enum {CHUNK = 10};
   TArrayAsVector<string> args;

   void expand(char *);
   void add(char *);
};

inline size_t Arglist::count() const
{
   return args.GetItemsInContainer();
}
inline const string& Arglist::operator[](size_t i) const
{
   return args[i];
}
inline void Arglist::add(char *arg)
{
   args.Add(string(arg));
}

/* End of File */