27 #ifndef TCLAP_ARG_TRAITS_H 28 #define TCLAP_ARG_TRAITS_H 101 template <
typename C>
102 static short test(
typename C::ValueCategory *);
103 template <
typename C>
104 static long test(...);
105 static const bool hasTrait =
sizeof(test<T>(0)) ==
sizeof(short);
107 template <
typename C,
bool>
108 struct DefaultArgTrait {
112 template <
typename C>
113 struct DefaultArgTrait<C, true> {
123 #endif // TCLAP_ARG_TRAITS_H Arg traits are used to get compile type specialization when parsing argument values.
virtual ~ValueLikeTrait()
A value like argument value type is a value that can be set using operator>>.
A string like argument value type is a value that can be set using operator=(string).
A class can inherit from this object to make it have string like traits.
A class can inherit from this object to make it have value like traits.
DefaultArgTrait< T, hasTrait >::ValueCategory ValueCategory
virtual ~StringLikeTrait()