24#ifndef TCLAP_CMD_LINE_OUTPUT_H
25#define TCLAP_CMD_LINE_OUTPUT_H
80 for (std::list<ArgGroup *>::const_iterator it = argSets.begin();
81 it != argSets.end(); ++it) {
82 if (std::find((*it)->begin(), (*it)->end(), arg) != (*it)->end()) {
90 const std::list<ArgGroup *> &argSets) {
91 for (std::list<Arg *>::iterator it = argList.begin();
92 it != argList.end();) {
94 it = argList.erase(it);
101inline std::string
removeSuffix(std::string s,
const std::string &suffix) {
102 std::ptrdiff_t start = s.length() - suffix.length();
103 if (start >= 0 && s.substr(start) == suffix) {
104 return s.substr(0, start);
112 if (p != std::string::npos) {
A simple class that defines and argument exception.
A virtual base class that defines the essential data for all arguments.
The base class that manages the command line definition and passes along the parsing to the appropria...
The interface that any output object must implement.
virtual void usage(CmdLineInterface &c)=0
Generates some sort of output for the USAGE.
virtual void failure(CmdLineInterface &c, ArgException &e)=0
Generates some sort of output for a failure.
virtual void version(CmdLineInterface &c)=0
Generates some sort of output for the version.
virtual ~CmdLineOutput()
Virtual destructor.
bool isInArgGroup(const Arg *arg, const std::list< ArgGroup * > &argSets)
void removeArgsInArgGroups(std::list< Arg * > &argList, const std::list< ArgGroup * > &argSets)
const char PATH_SEPARATOR
std::string basename(std::string s)
std::string removeSuffix(std::string s, const std::string &suffix)