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.
DefaultArgTrait< T, hasTrait >::ValueCategory ValueCategory
A class can inherit from this object to make it have string like traits.
virtual ~StringLikeTrait()
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 value like traits.
virtual ~ValueLikeTrait()
A value like argument value type is a value that can be set using operator>>.