tclap 1.2.1

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

ArgTraits.h
Go to the documentation of this file.
1 // -*- Mode: c++; c-basic-offset: 4; tab-width: 4; -*-
2
3 /******************************************************************************
4 *
5 * file: ArgTraits.h
6 *
7 * Copyright (c) 2007, Daniel Aarno, Michael E. Smoot .
8 * All rights reverved.
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 // This is an internal tclap file, you should probably not have to
24 // include this directly
25
26 #ifndef TCLAP_ARGTRAITS_H
27 #define TCLAP_ARGTRAITS_H
28
29 namespace TCLAP {
30
31 // We use two empty structs to get compile type specialization
32 // function to work
33
38 struct ValueLike {
39 typedef ValueLike ValueCategory;
40 virtual ~ValueLike() {}
41 };
42
48 struct StringLike {
49 virtual ~StringLike() {}
50 };
51
57 struct StringLikeTrait {
58 typedef StringLike ValueCategory;
59 virtual ~StringLikeTrait() {}
60 };
61
67 struct ValueLikeTrait {
68 typedef ValueLike ValueCategory;
69 virtual ~ValueLikeTrait() {}
70 };
71
78 template<typename T>
79 struct ArgTraits {
80 typedef typename T::ValueCategory ValueCategory;
81 virtual ~ArgTraits() {}
82 //typedef ValueLike ValueCategory;
83 };
84
85 #endif
86
87 } // namespace
TCLAP::ValueLikeTrait::~ValueLikeTrait
virtual ~ValueLikeTrait()
Definition: ArgTraits.h:69
TCLAP::StringLikeTrait::ValueCategory
StringLike ValueCategory
Definition: ArgTraits.h:58
TCLAP::ValueLike
A value like argument value type is a value that can be set using operator>>.
Definition: ArgTraits.h:38
TCLAP::ArgTraits
Arg traits are used to get compile type specialization when parsing argument values.
Definition: ArgTraits.h:79
TCLAP::StringLike
A string like argument value type is a value that can be set using operator=(string).
Definition: ArgTraits.h:48
TCLAP::ArgTraits::~ArgTraits
virtual ~ArgTraits()
Definition: ArgTraits.h:81
TCLAP::StringLikeTrait
A class can inherit from this object to make it have string like traits.
Definition: ArgTraits.h:57
TCLAP::StringLike::~StringLike
virtual ~StringLike()
Definition: ArgTraits.h:49
TCLAP::ValueLike::ValueCategory
ValueLike ValueCategory
Definition: ArgTraits.h:39
TCLAP::ValueLikeTrait
A class can inherit from this object to make it have value like traits.
Definition: ArgTraits.h:67
TCLAP::ArgTraits::ValueCategory
T::ValueCategory ValueCategory
Definition: ArgTraits.h:80
TCLAP
Definition: Arg.h:57
TCLAP::StringLikeTrait::~StringLikeTrait
virtual ~StringLikeTrait()
Definition: ArgTraits.h:59
TCLAP::ValueLikeTrait::ValueCategory
ValueLike ValueCategory
Definition: ArgTraits.h:68
TCLAP::ValueLike::~ValueLike
virtual ~ValueLike()
Definition: ArgTraits.h:40