summaryrefslogtreecommitdiff
path: root/tclap-1.2.1/include/tclap/HelpVisitor.h
diff options
context:
space:
mode:
authorChristian Linke <christian.linke@bmw.de>2015-04-15 19:05:53 +0200
committerChristian Linke <christian.linke@bmw.de>2015-04-15 19:05:53 +0200
commit64944e1fa72f346f1161da60c033de2e10513bea (patch)
tree12f668bf4024365311dd46bd3dc904f57e00f8fa /tclap-1.2.1/include/tclap/HelpVisitor.h
parenta0b06e2a9b466cfcc6f6810a66d9522a56872cbb (diff)
downloadaudiomanager-64944e1fa72f346f1161da60c033de2e10513bea.tar.gz
* implemend command line options for plugins. rework of command line
* add tclap as template library * implement bug 344 Signed-off-by: Christian Linke <christian.linke@bmw.de>
Diffstat (limited to 'tclap-1.2.1/include/tclap/HelpVisitor.h')
-rw-r--r--tclap-1.2.1/include/tclap/HelpVisitor.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/tclap-1.2.1/include/tclap/HelpVisitor.h b/tclap-1.2.1/include/tclap/HelpVisitor.h
new file mode 100644
index 0000000..cc3bd07
--- /dev/null
+++ b/tclap-1.2.1/include/tclap/HelpVisitor.h
@@ -0,0 +1,76 @@
+
+/******************************************************************************
+ *
+ * file: HelpVisitor.h
+ *
+ * Copyright (c) 2003, Michael E. Smoot .
+ * All rights reverved.
+ *
+ * See the file COPYING in the top directory of this distribution for
+ * more information.
+ *
+ * THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ *****************************************************************************/
+
+#ifndef TCLAP_HELP_VISITOR_H
+#define TCLAP_HELP_VISITOR_H
+
+#include <tclap/CmdLineInterface.h>
+#include <tclap/CmdLineOutput.h>
+#include <tclap/Visitor.h>
+
+namespace TCLAP {
+
+/**
+ * A Visitor object that calls the usage method of the given CmdLineOutput
+ * object for the specified CmdLine object.
+ */
+class HelpVisitor: public Visitor
+{
+ private:
+ /**
+ * Prevent accidental copying.
+ */
+ HelpVisitor(const HelpVisitor& rhs);
+ HelpVisitor& operator=(const HelpVisitor& rhs);
+
+ protected:
+
+ /**
+ * The CmdLine the output will be generated for.
+ */
+ CmdLineInterface* _cmd;
+
+ /**
+ * The output object.
+ */
+ CmdLineOutput** _out;
+
+ public:
+
+ /**
+ * Constructor.
+ * \param cmd - The CmdLine the output will be generated for.
+ * \param out - The type of output.
+ */
+ HelpVisitor(CmdLineInterface* cmd, CmdLineOutput** out)
+ : Visitor(), _cmd( cmd ), _out( out ) { }
+
+ /**
+ * Calls the usage method of the CmdLineOutput for the
+ * specified CmdLine.
+ */
+ void visit() { (*_out)->usage(*_cmd); throw ExitException(0); }
+
+};
+
+}
+
+#endif