Я бы хотел попросить у вас совета по шаблону функции. У меня есть функция, которая добавляет некоторые данные в буфер. Но мне также нужно добавить информацию о типе данных в буфер. Тип данных следующий перечисление:
enum ParameterType
{
UINT,
FLOAT,
DOUBLE
};
И мне нужно создать шаблон функции из этой функции:
void SomeBuffer::append( double par )
{
appendType( DOUBLE );
memcpy( pStr + _length, &par, sizeof( double ) );
_length += sizeof( double );
appendType( DOUBLE );
}
Подскажите, пожалуйста, как передать значение из ParameterType для appendType () в зависимости от типа параметра.
template<class T>
void SomeBuffer::append( T par )
{
appendType( ??? );
memcpy( pStr + _length, &par, sizeof( T ) );
_length += sizeof( T );
appendType( ??? );
}
Я пытался сделать это с помощью некоторых макросов, но безуспешно. Большое спасибо за любой совет.