tclap
1.2.1
Main Page
Namespaces
Classes
Files
File List
File Members
include
tclap
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
Generated by
1.8.2