summaryrefslogtreecommitdiff
path: root/tclap-1.2.1/examples/test6.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tclap-1.2.1/examples/test6.cpp')
-rw-r--r--tclap-1.2.1/examples/test6.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/tclap-1.2.1/examples/test6.cpp b/tclap-1.2.1/examples/test6.cpp
new file mode 100644
index 0000000..b792265
--- /dev/null
+++ b/tclap-1.2.1/examples/test6.cpp
@@ -0,0 +1,51 @@
+#include <string>
+#include "tclap/CmdLine.h"
+
+using namespace TCLAP;
+using namespace std;
+
+int main(int argc, char** argv)
+{
+ // Wrap everything in a try block. Do this every time,
+ // because exceptions will be thrown for problems.
+ try {
+
+ // Define the command line object.
+ CmdLine cmd("Command description message", ' ', "0.9");
+
+ vector<string> allowed;
+ allowed.push_back("homer");
+ allowed.push_back("marge");
+ allowed.push_back("bart");
+ allowed.push_back("lisa");
+ allowed.push_back("maggie");
+ ValuesConstraint<string> allowedVals( allowed );
+
+ ValueArg<string> nameArg("n","name","Name to print",true,"homer",
+ &allowedVals);
+ cmd.add( nameArg );
+
+ vector<int> iallowed;
+ iallowed.push_back(1);
+ iallowed.push_back(2);
+ iallowed.push_back(3);
+ ValuesConstraint<int> iallowedVals( iallowed );
+
+ UnlabeledValueArg<int> intArg("times","Number of times to print",true,1,
+ &iallowedVals,false);
+ cmd.add( intArg );
+
+ // Parse the args.
+ cmd.parse( argc, argv );
+
+ // Get the value parsed by each arg.
+ int num = intArg.getValue();
+ string name = nameArg.getValue();
+
+ for ( int i = 0; i < num; i++ )
+ cout << "My name is " << name << endl;
+
+ } catch ( ArgException& e) // catch any exceptions
+ { cerr << "error: " << e.error() << " for arg " << e.argId() << endl; }
+}
+