next up previous contents index Api Refernce
Next: 6.2.3 Reading a user Up: 6.2 Calling functions Previous: 6.2.1 User defined functions


6.2.2 Calling member functions

If you want to add files given at the command line to a list of file names, then you need to call a member function of a certain object (the file list) for each string given at the command line (the file names).

For cases like these an overloaded version of call exists, see the above.

Take a look at the example below:


#include <iostream>
#include <list>
#include <string>

#include "cmdline.h"

using namespace std;
using namespace cmdl; // defined in cmdline.h

int main(int argc, char *argv[])
{
   typedef list<string> stringlist_t;
   stringlist_t stringlist;

   {
       CmdLine CL;
       CL.Init( --argc, ++argv ); // skip program name

       // add arguments to a list
       CL.Call("-add-strings-to-list",   // command line option
	       stringlist,               // object to call the member function for
	       &stringlist_t::push_back, // member function
	       CmdLine::cmdMultiple);    // allow multiple arguments

       CL.Done();
   }

   // print list of strings to stdout
   stringlist_t::iterator current = stringlist.begin();
   while (current != stringlist.end())
       cout << *current++ << endl;

}

Note that this example does not include error handling, which is described here.


next up previous contents index Api Refernce
Next: 6.2.3 Reading a user Up: 6.2 Calling functions Previous: 6.2.1 User defined functions
Christian Neise
2003-01-12