00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef TCLAP_COMMANDLINE_INTERFACE_H
00025 #define TCLAP_COMMANDLINE_INTERFACE_H
00026
00027 #include <string>
00028 #include <vector>
00029 #include <list>
00030 #include <iostream>
00031 #include <algorithm>
00032
00033 namespace TCLAP {
00034
00035 class Arg;
00036
00041 class CmdLineInterface
00042 {
00043 public:
00044
00048 virtual ~CmdLineInterface() {}
00049
00054 virtual void add( Arg& a )=0;
00055
00060 virtual void add( Arg* a )=0;
00061
00069 virtual void xorAdd( Arg& a, Arg& b )=0;
00070
00076 virtual void xorAdd( std::vector<Arg*>& xors )=0;
00077
00082 virtual void usage( int exitVal = 0 )=0;
00083
00088 virtual void version( int exitVal = 0 )=0;
00089
00095 virtual void failure( const ArgException& e )=0;
00096
00102 virtual void parse(int argc, char** argv)=0;
00103 };
00104
00105 }
00106
00107
00108 #endif