#include <string> #include <iostream> #include <algorithm> #include "tclap/CmdLine.h" using namespace TCLAP; using namespace std; int main(int argc, char** argv) { try { CmdLine cmd("Command description message", ' ', "0.9",false); SwitchArg reverseSwitch("r","reverse","REVERSE instead of FORWARDS", false); cmd.add( reverseSwitch ); MultiSwitchArg verbose("V","verbose","Level of verbosity"); cmd.add( verbose ); MultiSwitchArg noise("N","noise","Level of noise",5); cmd.add( noise ); UnlabeledValueArg<string> word("word","a random word", false, "string", "won't see this",false); cmd.add( word ); // Uncommenting the next arg will (correctly) cause an exception // to be thrown. // UnlabeledMultiArg<string> badword("badword","a bad word", false,"string"); // // cmd.add( badword ); cmd.parse( argc, argv ); bool reverseName = reverseSwitch.getValue(); if ( reverseName ) cout << "REVERSE" << endl; else cout << "FORWARD" << endl; if ( verbose.isSet() ) cout << "Verbose level: " << verbose.getValue() << endl; if ( noise.isSet() ) cout << "Noise level: " << noise.getValue() << endl; if ( word.isSet() ) cout << "Word: " << word.getValue() << endl; } catch (ArgException &e) // catch any exceptions { cerr << "error: " << e.error() << " for arg " << e.argId() << endl; } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 16129 | tjuricek |
Rename/move files again... this time to the hyphenated-approach. |
||
//guest/tjuricek/file_system_client/main/vendor/tclap-1.2.1/examples/test9.cpp | |||||
#1 | 16119 | tjuricek | Rename/move to meet workshop project conventions. | ||
//guest/tjuricek/fsclient/vendor/tclap-1.2.1/examples/test9.cpp | |||||
#1 | 16118 | tjuricek |
FSClient initial version: handles add, edit This is a proof-of-concept app that mirrors an existing Perforce workspace to handle running commands like "p4 add" and "p4 edit" automatically when your apps add and write files. See the readme for more information. |