{ \
CXXTEST_TEMPLATE_INSTANTIATION \
class ValueTraits<TYPE> \
{ \
TYPE _value; \
char _fallback[sizeof("(" #TYPE ")") + 3 * sizeof(TYPE)]; \
public: \
ValueTraits( TYPE value ) { \
_value = value; \
numberToString<unsigned long int>( _value, copyString( _fallback, "(" #TYPE ")" ) ); \
} \
const char *asString( void ) const \
{ \
switch ( _value ) \
{ \
VALUES \
default: return _fallback; \
} \
} \
}; \
}
350#define CXXTEST_ENUM_TRAITS( TYPE, VALUES ) \
351 namespace CxxTest \
352 { \
353 CXXTEST_TEMPLATE_INSTANTIATION \
354 class ValueTraits<TYPE> \
355 { \
356 TYPE _value; \
357 char _fallback[sizeof("(" #TYPE ")") + 3 * sizeof(TYPE)]; \
358 public: \
359 ValueTraits( TYPE value ) { \
360 _value = value; \
361 numberToString<unsigned long int>( _value, copyString( _fallback, "(" #TYPE ")" ) ); \
362 } \
363 const char *asString( void ) const \
364 { \
365 switch ( _value ) \
366 { \
367 VALUES \
368 default: return _fallback; \
369 } \
370 } \
371 }; \
372 }