virtual void version(TCLAP::CmdLineInterface& cmd) { std::cout << std::endl << cmd.getMessage() << std::endl << "Version: " << cmd.getVersion() << std::endl << std::endl; }
void VTOutput::usage(TCLAP::CmdLineInterface& c) { std::string s = ""; std::list<TCLAP::Arg*> args = c.getArgList(); //prints unlabeled arument list first for (TCLAP::ArgListIterator it = args.begin(); it != args.end(); it++) { if (typeid(**it)==typeid(TCLAP::UnlabeledValueArg<std::string>)) { TCLAP::UnlabeledValueArg<std::string> *i = (TCLAP::UnlabeledValueArg<std::string> *) (*it); s = i->getName(); } else if (typeid(**it)==typeid(TCLAP::UnlabeledMultiArg<std::string>)) { TCLAP::UnlabeledMultiArg<std::string> *i = (TCLAP::UnlabeledMultiArg<std::string> *) (*it); s = i->getName(); } } std::clog << c.getProgramName() << " v" << c.getVersion() << "\n\n"; std::clog << "description : " << c.getMessage() << "\n\n"; std::clog << "usage : vt " << c.getProgramName() << " [options] " << s << "\n\n"; //prints rest of arguments for (TCLAP::ArgListIterator it = args.begin(); it != args.end(); it++) { if (it==args.begin()) { std::clog << "options : "; } else { std::clog << " "; } if (typeid(**it)==typeid(TCLAP::ValueArg<std::string>) || typeid(**it)==typeid(TCLAP::ValueArg<uint32_t>) || typeid(**it)==typeid(TCLAP::ValueArg<int32_t>) || typeid(**it)==typeid(TCLAP::ValueArg<double>) || typeid(**it)==typeid(TCLAP::ValueArg<float>)) { TCLAP::ValueArg<std::string> *i = (TCLAP::ValueArg<std::string> *) (*it); std::clog << "-" << i->getFlag() << " " << i->getDescription() << "\n"; } else if (typeid(**it)==typeid(TCLAP::SwitchArg)) { TCLAP::SwitchArg *i = (TCLAP::SwitchArg *) (*it); std::clog << "-" << i->getFlag() << " " << i->getDescription() << "\n"; } else if (typeid(**it)==typeid(TCLAP::UnlabeledValueArg<std::string>)) { //ignored } else if (typeid(**it)==typeid(TCLAP::UnlabeledMultiArg<std::string>)) { //ignored } else { std::clog << "oops, argument type not handled\n"; } } std::clog << "\n"; }