Program Listing for File cmd_line_interface.hpp
↰ Return to documentation for file (include/ecl/command_line/cmd_line_interface.hpp
)
/*****************************************************************************
** Ifdefs
*****************************************************************************/
#ifndef TCLAP_COMMANDLINE_INTERFACE_H
#define TCLAP_COMMANDLINE_INTERFACE_H
#include <string>
#include <vector>
#include <list>
#include <iostream>
#include <algorithm>
namespace ecl {
class Arg;
class CmdLineOutput;
class XorHandler;
class CmdLineInterface
{
public:
virtual ~CmdLineInterface() {}
virtual void add( Arg& a )=0;
virtual void add( Arg* a )=0;
virtual void xorAdd( Arg& a, Arg& b )=0;
virtual void xorAdd( std::vector<Arg*>& xors )=0;
virtual void parse(int argc, char** argv)=0;
virtual CmdLineOutput* getOutput()=0;
virtual void setOutput(CmdLineOutput* co)=0;
virtual std::string& getVersion()=0;
virtual std::string& getProgramName()=0;
virtual std::list<Arg*>& getArgList()=0;
virtual XorHandler& getXorHandler()=0;
virtual char getDelimiter()=0;
virtual std::string& getMessage()=0;
virtual bool hasHelpAndVersion()=0;
};
} // namespace ecl
#endif