17 #ifndef VCSN_MISC_SPECIAL_CHAR_TRAITS_HH
18 # define VCSN_MISC_SPECIAL_CHAR_TRAITS_HH
39 # define VCSN_USE_GENERIC_CHAR_TRAITS_FOR(Type) \
41 struct char_traits<Type> : public ::vcsn::misc::char_traits<Type> { }
46 VCSN_USE_GENERIC_CHAR_TRAITS_FOR (
int);
47 VCSN_USE_GENERIC_CHAR_TRAITS_FOR (
long int);
48 VCSN_USE_GENERIC_CHAR_TRAITS_FOR (
unsigned int);
49 VCSN_USE_GENERIC_CHAR_TRAITS_FOR (
unsigned long int);
50 VCSN_USE_GENERIC_CHAR_TRAITS_FOR (
float);
51 VCSN_USE_GENERIC_CHAR_TRAITS_FOR (
double);
52 VCSN_USE_GENERIC_CHAR_TRAITS_FOR (
long double);
56 struct char_traits<T*> : public ::vcsn::misc::char_traits<T*> { };
59 template <
class U,
class V>
60 struct char_traits< pair<U, V> > :
66 #endif // ! VCSN_MISC_SPECIAL_CHAR_TRAITS_HH