27 #ifndef TCLAP_ARGTRAITS_H 28 #define TCLAP_ARGTRAITS_H 101 template<
typename C>
static short test(
typename C::ValueCategory*);
102 template<
typename C>
static long test(...);
103 static const bool hasTrait =
sizeof(test<T>(0)) ==
sizeof(short);
105 template <
typename C,
bool>
106 struct DefaultArgTrait {
110 template <
typename C>
111 struct DefaultArgTrait<C, true> {
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()