CmdLineInterface.h

Go to the documentation of this file.
00001 /* -*- Mode: CC; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
00002 
00003 /****************************************************************************** 
00004  * 
00005  *  file:  CmdLineInterface.h
00006  * 
00007  *  Copyright (c) 2003, Michael E. Smoot .
00008  *  Copyright (c) 2004, Michael E. Smoot, Daniel Aarno.
00009  *  All rights reverved.
00010  *
00011  *  See the file COPYING in the top directory of this distribution for
00012  *  more information.
00013  *  
00014  *  THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS 
00015  *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
00016  *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
00017  *  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
00018  *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
00019  *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
00020  *  DEALINGS IN THE SOFTWARE.  
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 } //namespace
00106 
00107 
00108 #endif 

Generated on Sun Mar 11 15:33:24 2007 for MetalWarriors by  doxygen 1.4.7