00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef TCLAP_STANDARD_TRAITS_H
00027 #define TCLAP_STANDARD_TRAITS_H
00028
00029 #include <sbia/basis/config.h>
00030
00031
00032
00033
00034 #ifdef _MSC_VER
00035 #ifndef _NATIVE_WCHAR_T_DEFINED
00036 #define TCLAP_DONT_DECLARE_WCHAR_T_ARGTRAITS
00037 #endif
00038 #endif
00039
00040 namespace TCLAP {
00041
00042
00043
00044
00045
00046
00047
00048
00049 template<>
00050 struct ArgTraits<long> {
00051 typedef ValueLike ValueCategory;
00052 };
00053
00054
00055
00056
00057 template<>
00058 struct ArgTraits<int> {
00059 typedef ValueLike ValueCategory;
00060 };
00061
00062
00063
00064
00065 template<>
00066 struct ArgTraits<short> {
00067 typedef ValueLike ValueCategory;
00068 };
00069
00070
00071
00072
00073 template<>
00074 struct ArgTraits<char> {
00075 typedef ValueLike ValueCategory;
00076 };
00077
00078 #ifdef HAVE_LONG_LONG
00079
00080
00081
00082 template<>
00083 struct ArgTraits<long long> {
00084 typedef ValueLike ValueCategory;
00085 };
00086 #endif
00087
00088
00089
00090
00091
00092
00093
00094
00095 template<>
00096 struct ArgTraits<unsigned long> {
00097 typedef ValueLike ValueCategory;
00098 };
00099
00100
00101
00102
00103 template<>
00104 struct ArgTraits<unsigned int> {
00105 typedef ValueLike ValueCategory;
00106 };
00107
00108
00109
00110
00111 template<>
00112 struct ArgTraits<unsigned short> {
00113 typedef ValueLike ValueCategory;
00114 };
00115
00116
00117
00118
00119 template<>
00120 struct ArgTraits<unsigned char> {
00121 typedef ValueLike ValueCategory;
00122 };
00123
00124
00125 #if defined(_MSC_VER) && defined(_M_X64)
00126
00127
00128
00129 template<>
00130 struct ArgTraits<size_t> {
00131 typedef ValueLike ValueCategory;
00132 };
00133 #endif
00134
00135
00136 #ifdef HAVE_LONG_LONG
00137
00138
00139
00140 template<>
00141 struct ArgTraits<unsigned long long> {
00142 typedef ValueLike ValueCategory;
00143 };
00144 #endif
00145
00146
00147
00148
00149
00150
00151
00152
00153 template<>
00154 struct ArgTraits<float> {
00155 typedef ValueLike ValueCategory;
00156 };
00157
00158
00159
00160
00161 template<>
00162 struct ArgTraits<double> {
00163 typedef ValueLike ValueCategory;
00164 };
00165
00166
00167
00168
00169
00170
00171
00172
00173 template<>
00174 struct ArgTraits<bool> {
00175 typedef ValueLike ValueCategory;
00176 };
00177
00178
00179
00180
00181
00182 #ifndef TCLAP_DONT_DECLARE_WCHAR_T_ARGTRAITS
00183 template<>
00184 struct ArgTraits<wchar_t> {
00185 typedef ValueLike ValueCategory;
00186 };
00187 #endif
00188
00189
00190
00191
00192 template<>
00193 struct ArgTraits<std::string> {
00194 typedef StringLike ValueCategory;
00195 };
00196
00197 template<typename T>
00198 void SetString(T &dst, const std::string &src)
00199 {
00200 dst = src;
00201 }
00202
00203 }
00204
00205 #endif
00206