1 #ifndef CARMA_UTIL_SHORT_STRINGIFIER_H
2 #define CARMA_UTIL_SHORT_STRINGIFIER_H
11 class ShortStringifier {
15 MAX_CHARS_PER_VALUE = 6
18 explicit ShortStringifier( );
20 virtual ~ShortStringifier( );
22 ::size_t stringifyShort(
short v,
24 ::
size_t bufferMaxCount )
const;
28 ShortStringifier(
const ShortStringifier & rhs );
29 ShortStringifier & operator=(
const ShortStringifier & rhs );
31 static const char * makeTable( );
37 const char *
const table_;
46 carma::util::ShortStringifier::stringifyShort(
49 const ::size_t bufferMaxCount )
const
51 if ( (bufferMaxCount < MAX_CHARS_PER_VALUE) || (MAX_CHARS_PER_VALUE < 6) )
54 const unsigned int i =
55 static_cast< unsigned int >(
static_cast< int >( v ) + BIAS ) * 8U;
57 buffer[ 0 ] = table_[ i + 0 ];
58 buffer[ 1 ] = table_[ i + 1 ];
59 buffer[ 2 ] = table_[ i + 2 ];
60 buffer[ 3 ] = table_[ i + 3 ];
61 buffer[ 4 ] = table_[ i + 4 ];
62 buffer[ 5 ] = table_[ i + 5 ];
Exception class for errors.
#define CARMA_ERROR(y)
Trick to get the file name and line number passed to the exception handler.