27#ifndef TCLAP_ARG_TRAITS_H
28#define TCLAP_ARG_TRAITS_H
105 template <
typename C>
106 static short test(
typename C::ValueCategory *);
107 template <
typename C>
108 static long test(...);
109 static const bool hasTrait =
sizeof(test<T>(0)) ==
sizeof(
short);
111 template <
typename C,
bool>
112 struct DefaultArgTrait {
116 template <
typename C>
117 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>>.