tclap  1.4.0
VersionVisitor.h
Go to the documentation of this file.
1 // -*- Mode: c++; c-basic-offset: 4; tab-width: 4; -*-
2 
3 /******************************************************************************
4  *
5  * file: VersionVisitor.h
6  *
7  * Copyright (c) 2003, Michael E. Smoot .
8  * All rights reserved.
9  *
10  * See the file COPYING in the top directory of this distribution for
11  * more information.
12  *
13  * THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS
14  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
19  * DEALINGS IN THE SOFTWARE.
20  *
21  *****************************************************************************/
22 
23 #ifndef TCLAP_VERSION_VISITOR_H
24 #define TCLAP_VERSION_VISITOR_H
25 
26 #include <tclap/CmdLineInterface.h>
27 #include <tclap/CmdLineOutput.h>
28 #include <tclap/Visitor.h>
29 
30 namespace TCLAP {
31 
36 class VersionVisitor : public Visitor {
37 private:
41  VersionVisitor(const VersionVisitor &rhs);
42  VersionVisitor &operator=(const VersionVisitor &rhs);
43 
44 protected:
49 
54 
55 public:
62  : Visitor(), _cmd(cmd), _out(out) {}
63 
68  void visit() {
69  (*_out)->version(*_cmd);
70  throw ExitException(0);
71  }
72 };
73 } // namespace TCLAP
74 
75 #endif // TCLAP_VERSION_VISITOR_H
CmdLineInterface * _cmd
The CmdLine of interest.
CmdLineOutput ** _out
The output object.
Thrown when TCLAP thinks the program should exit.
Definition: ArgException.h:178
A Visitor that will call the version method of the given CmdLineOutput for the specified CmdLine obje...
A base class that defines the interface for visitors.
Definition: Visitor.h:32
void visit()
Calls the version method of the output object using the specified CmdLine.
The base class that manages the command line definition and passes along the parsing to the appropria...
VersionVisitor(CmdLineInterface *cmd, CmdLineOutput **out)
Constructor.
Definition: Arg.h:46
The interface that any output object must implement.
Definition: CmdLineOutput.h:45